private void HandleUiEvent(UiEvent uiEvent) { switch (uiEvent.Info) { case UiEvent.EventInfo.LaunchGame: if (_currentGame.IsHost) { GameAccess.Instance.StartGame(_currentGame.Model.HashId); EventManager.Instance.Notice(new StartGameEvent()); } else { MessageHelper.ShowMessage("Je suis désolé Dave, je ne crois pas pouvoir faire ça!", "Seul la princesse de place peut ouvrir le bal"); } break; case UiEvent.EventInfo.OnlineBoard: EnterSubstate(OnlineSubstate.OnlineBoard); break; case UiEvent.EventInfo.HostGame: EnterSubstate(OnlineSubstate.GameCreation); break; case UiEvent.EventInfo.Back: if (_currentSubState == OnlineSubstate.OnlineMenu) { EventManager.Instance.Notice(new ChangeStateEvent() { NextState = Enums.States.GameMenu }); } else if (_currentSubState == OnlineSubstate.WaitingRoom) { if (_currentGame.IsHost) { EventManager.Instance.Interrupt(new TerminateSessionEvent() { Cause = TerminateSessionEvent.TerminationCause.PrematureQuit }); } ExitGame(); EnterSubstate(OnlineSubstate.OnlineBoard); } else { EnterSubstate(OnlineSubstate.OnlineMenu); } break; case UiEvent.EventInfo.MatchMaking: var context = new MatchMakingViewModel(); var popup = new MatchMakingPopup(context); popup.ShowDialog(); break; } }
public MatchMakingPopup(MatchMakingViewModel context) { InitializeComponent(); DataContext = context; if (context.CloseAction == null) { context.CloseAction = new Action(this.Close); } }