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);
     }
 }