private void Submit(ISelectablePanel i_selectable_panel) { if (i_selectable_panel is ModeSelectedPanel) { var mode_select_panel = (ModeSelectedPanel)i_selectable_panel; GameStateManager.instance.mode = mode_select_panel.GetModeName; DebugLogger.Log(mode_select_panel.GetModeName); SceneManager.LoadScene("CharSelect"); } else if (i_selectable_panel is IDisplayPanel) { var display_panel = (IDisplayPanel)i_selectable_panel; display_panel.Launch(); Observable.Timer(TimeSpan.FromSeconds(0.1f)) .Subscribe(n => { interfaceEventSystem.SubmitKey .First() .Subscribe(m => { display_panel.Finish(); interfaceEventSystem.ReBoot(); }).AddTo(this); }); } else { DebugLogger.LogError(i_selectable_panel + " is should not be selecting"); return; } }
private void Cancel() { myStream.OnNext(null); interfaceEventSystem.ReBoot(); }