public override void OnStateEnter() { base.OnStateEnter(); UpdateBalanceSignal.Fire(SignalBus).Done(() => { SetBalanceSignal.Fire(SignalBus) .Done(() => { // TODO: Decide what to Do. For Now just getting on the start again. Observable.Timer(TimeSpan.FromSeconds(Settings.ResultVisibilityTime)) .Subscribe(l => Model.RouletteState = ERouletteState.Setup) .AddTo(Disposables); }, exception => { // TODO: Do something... Debug.LogError($"Error: Something went wrong. {exception}"); }); }, exception => { Debug.LogError($"Error: Something went wrong. {exception}"); }); }
public static IPromise Fire(SignalBus signalBus) { UpdateBalanceSignal signal = new UpdateBalanceSignal(); signalBus.Fire(signal); return(signal.FireInternal()); }
public void Execute(UpdateBalanceSignal signal) { if (_rouletteModel.UpdateBalanceWithMultiplier()) { signal.Resolve(); } else { signal.Reject(new Exception("Unable to update balance.")); } }