Beyond_Beyaan.Screens.ProcessingTurnScreen.Initialize C# (CSharp) Метод

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

public Initialize ( GameMain gameMain, string &reason ) : bool
gameMain GameMain
reason string
Результат bool
        public bool Initialize(GameMain gameMain, out string reason)
        {
            _gameMain = gameMain;
            _camera = new Camera(gameMain.Galaxy.GalaxySize * 60, gameMain.Galaxy.GalaxySize * 60, gameMain.ScreenWidth, gameMain.ScreenHeight);
            _camera.CenterCamera(_camera.Width / 2, _camera.Height / 2, _camera.MaxZoom);

            _updateStep = 0;

            _exploredSystemsThisTurn = new Dictionary<Empire, List<StarSystem>>();
            _colonizableFleetsThisTurn = new Dictionary<Empire, List<Fleet>>();
            _newResearchTopicsNeeded = new Dictionary<Empire, List<TechField>>();

            _systemInfoWindow = new SystemInfoWindow();
            if (!_systemInfoWindow.Initialize(gameMain, out reason))
            {
                return false;
            }

            _systemView = new SystemView();
            if (!_systemView.Initialize(gameMain, "ProcessingScreen", out reason))
            {
                return false;
            }

            _colonizeScreen = new ColonizeScreen();
            if (!_colonizeScreen.Initialize(gameMain, out reason))
            {
                return false;
            }

            _researchPrompt = new ResearchPrompt();
            if (!_researchPrompt.Initialize(gameMain, out reason))
            {
                return false;
            }

            _starName = new RenderImage("starNameProcessingTurnRendered", 1, 1, ImageBufferFormats.BufferRGB888A8);
            _starName.BlendingMode = BlendingModes.Modulated;

            reason = null;
            return true;
        }

Usage Example

Пример #1
0
 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.FleetList:
             if (_fleetListScreen == null)
             {
                 _fleetListScreen = new FleetListScreen();
                 string reason;
                 if (!_fleetListScreen.Initialize(this, out reason))
                 {
                     MessageBox.Show("Exception in loading Fleet List Screen. Reason: " + reason);
                     _parentForm.Close();
                 }
             }
             _fleetListScreen.LoadScreen();
             _screenInterface = _fleetListScreen;
             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;
 }