Beyond_Beyaan.GameMain.ChangeToScreen C# (CSharp) Метод

ChangeToScreen() публичный Метод

public ChangeToScreen ( Screen whichScreen ) : void
whichScreen System.Windows.Forms.Screen
Результат void
        public void ChangeToScreen(Screen whichScreen)
        {
            switch (whichScreen)
            {
                case Screen.MainMenu:
                    if (_mainGameMenu == null)
                    {
                        _mainGameMenu = new MainGameMenu();
                        string reason;
                        if (!_mainGameMenu.Initialize(this, out reason))
                        {
                            MessageBox.Show("Exception in loading Main Menu. Reason: " + reason);
                            _parentForm.Close();
                        }
                    }
                    _screenInterface = _mainGameMenu;
                    break;
                case Screen.NewGame:
                    if (_newGame == null)
                    {
                        _newGame = new NewGame();
                        string reason;
                        if (!_newGame.Initialize(this, out reason))
                        {
                            MessageBox.Show("Exception in loading New Game Menu. Reason: " + reason);
                            _parentForm.Close();
                        }
                    }
                    _screenInterface = _newGame;
                    break;
                case Screen.Galaxy:
                    if (_galaxyScreen == null)
                    {
                        _galaxyScreen = new GalaxyScreen();
                        string reason;
                        if (!_galaxyScreen.Initialize(this, out reason))
                        {
                            MessageBox.Show("Exception in loading Galaxy Screen. Reason: " + reason);
                            _parentForm.Close();
                        }
                    }
                    _galaxyScreen.CenterScreen();
                    _screenInterface = _galaxyScreen;
                    break;
                case Screen.Diplomacy:
                    if (_diplomacyScreen == null)
                    {
                        _diplomacyScreen = new DiplomacyScreen();
                        string reason;
                        if (!_diplomacyScreen.Initialize(this, out reason))
                        {
                            MessageBox.Show("Exception in loading Diplomacy Screen. Reason: " + reason);
                            _parentForm.Close();
                        }
                    }
                    _diplomacyScreen.SetupScreen();
                    _screenInterface = _diplomacyScreen;
                    break;
                case Screen.ProcessTurn:
                    EmpireManager.CurrentEmpire.ClearTurnData();
                    if (_processingTurnScreen == null)
                    {
                        _processingTurnScreen = new ProcessingTurnScreen();
                        string reason;
                        if (!_processingTurnScreen.Initialize(this, out reason))
                        {
                            MessageBox.Show("Exception in loading Processing Turn Screen. Reason: " + reason);
                            _parentForm.Close();
                        }
                    }
                    if (!EmpireManager.ProcessNextEmpire())
                    {
                        _situationReport.Refresh();
                        ChangeToScreen(Screen.Galaxy);
                        break;
                    }
                    _screenInterface = _processingTurnScreen;
                    break;
                case Screen.Battle:
                    /*if (_spaceCombat == null)
                    {
                        _spaceCombat = new SpaceCombat();
                        _spaceCombat.Initialize(this);
                    }
                    _spaceCombat.SetupScreen();
                    _screenInterface = _spaceCombat;*/
                    break;
            }
            _currentScreen = whichScreen;
        }

Usage Example

Пример #1
0
        public bool MouseUp(int mouseX, int mouseY, int whichButton)
        {
            if (_hide)
            {
                return(false);
            }
            if (whichButton != 1)
            {
                return(false);
            }
            for (int i = 0; i < _taskButtons.Length; i++)
            {
                if (_taskButtons[i].MouseUp(mouseX, mouseY))
                {
                    switch (i)
                    {
                    case 0:
                    {
                        if (ShowGameMenu != null)
                        {
                            ShowGameMenu();
                            SetToScreen(Screen.InGameMenu);
                        }
                        break;
                    }

                    /*case 1: _gameMain.ChangeToScreen(Screen.Galaxy);
                     *      break;
                     * case 2: _gameMain.ChangeToScreen(Screen.Diplomacy);
                     *      break;
                     * case 3: _gameMain.ChangeToScreen(Screen.FleetList);
                     *      break;*/
                    case 1:
                    {
                        if (ShowShipDesignScreen != null)
                        {
                            ShowShipDesignScreen();
                            SetToScreen(Screen.Design);
                        }
                        break;
                    }

                    case 2:
                    {
                        if (ShowFleetOverviewScreen != null)
                        {
                            ShowFleetOverviewScreen();
                            SetToScreen(Screen.FleetList);
                        }
                    }
                    break;

                    case 4:
                        if (ShowPlanetsScreen != null)
                        {
                            ShowPlanetsScreen();
                            SetToScreen(Screen.Planets);
                        }
                        break;

                    case 5:
                    {
                        if (ShowResearchScreen != null)
                        {
                            ShowResearchScreen();
                            SetToScreen(Screen.Research);
                        }
                        break;
                    }

                    case 6:
                    {
                        Clear();
                        if (EndTurn != null)
                        {
                            EndTurn();
                        }
                        _gameMain.ChangeToScreen(Screen.ProcessTurn);
                        _gameMain.HideSitRep();
                        break;
                    }
                    }
                    return(true);
                }
            }
            return(false);
        }