private void EnterSubstate(OnlineSubstate nextSubstate)
        {
            switch (nextSubstate)
            {
            case OnlineSubstate.OnlineMenu:
                var onlineMenu = new OnlineMenu();
                Program.MainWindow.SwitchScreen(onlineMenu);
                break;

            case OnlineSubstate.OnlineBoard:
                var board = new OnlineBoardPanel();
                Program.MainWindow.SwitchScreen(board);
                break;

            case OnlineSubstate.GameCreation:
                var campaignConfig = new OnlineGameConfig();
                campaignConfig.InitConfig();
                campaignConfig.GotoConfigWindows();
                break;

            case OnlineSubstate.WaitingRoom:
                var waitingRoom = new WaitingRoom();
                Program.MainWindow.SwitchScreen(waitingRoom);
                break;
            }
            _currentSubState = nextSubstate;
        }
        public void SetContext(OnlineGameConfig config)
        {
            _config = config;
            BasicGameConfig.SetGameConfig(config.GameConfig);

            _singleZoneSelector.SetDataContext(config.SingleMapConfig);
            _multipleMapSelector.SetDataContext(config.MultipleMapConfig);
            _singleZoneSelector.ChildEvent  += HandleChildEvent;
            _multipleMapSelector.ChildEvent += HandleChildEvent;

            SwitchZoneSelector(_config.GameConfig.ZoneConfig);
        }