public bool Initialize(GameMain gameMain, out string reason) { _gameMain = gameMain; _pathSprite = SpriteManager.GetSprite("Path", _gameMain.Random); _fuelCircle = SpriteManager.GetSprite("FuelCircle", _gameMain.Random); _selectionSprites = new BBSprite[4]; _selectionSprites[0] = SpriteManager.GetSprite("SelectionTL", _gameMain.Random); _selectionSprites[1] = SpriteManager.GetSprite("SelectionTR", _gameMain.Random); _selectionSprites[2] = SpriteManager.GetSprite("SelectionBL", _gameMain.Random); _selectionSprites[3] = SpriteManager.GetSprite("SelectionBR", _gameMain.Random); _showingFuelRange = false; _showingRadarRange = false; _showingOwners = false; _camera = new Camera(_gameMain.Galaxy.GalaxySize * 60, _gameMain.Galaxy.GalaxySize * 60, _gameMain.ScreenWidth, _gameMain.ScreenHeight); _starName = new RenderImage("starNameRendered", 1, 1, ImageBufferFormats.BufferRGB888A8); _starName.BlendingMode = BlendingModes.Modulated; _backBuffer = new RenderImage("galaxyBackBuffer", _gameMain.ScreenWidth, _gameMain.ScreenHeight, ImageBufferFormats.BufferRGB888A8); _backBuffer.BlendingMode = BlendingModes.Modulated; _systemView = new SystemView(); if (!_systemView.Initialize(_gameMain, "GalaxyScreen", out reason)) { return false; } _fleetView = new FleetView(); if (!_fleetView.Initialize(_gameMain, out reason)) { return false; } _taskBar = new TaskBar(); if (!_taskBar.Initialize(_gameMain, out reason)) { return false; } _inGameMenu = new InGameMenu(); _researchScreen = new ResearchScreen(); _shipDesignScreen = new ShipDesignScreen(); _planetsView = new PlanetsView(); _fleetListScreen = new FleetListScreen(); if (!_inGameMenu.Initialize(_gameMain, out reason)) { return false; } if (!_researchScreen.Initialize(_gameMain, out reason)) { return false; } if (!_shipDesignScreen.Initialize(_gameMain, out reason)) { return false; } if (!_planetsView.Initialize(_gameMain, out reason)) { return false; } if (!_fleetListScreen.Initialize(_gameMain, out reason)) { return false; } _inGameMenu.CloseWindow = CloseWindow; _researchScreen.CloseWindow = CloseWindow; _shipDesignScreen.CloseWindow = CloseWindow; _planetsView.CloseWindow = CloseWindow; _planetsView.CenterToSystem = CenterToSystem; _fleetListScreen.CloseWindow = CloseWindow; _fleetListScreen.SelectFleet = SelectFleet; _taskBar.ShowGameMenu = ShowInGameMenu; _taskBar.ShowResearchScreen = ShowResearchScreen; _taskBar.ShowShipDesignScreen = ShowShipDesignScreen; _taskBar.ShowPlanetsScreen = ShowPlanetsView; _taskBar.ShowFleetOverviewScreen = ShowFleetListScreen; _taskBar.EndTurn = CloseWindow; _travelETA = new BBLabel(); _tentativeETA = new BBLabel(); if (!_travelETA.Initialize(0, 0, "ETA", Color.White, out reason)) { return false; } if (!_tentativeETA.Initialize(0, 0, "ETA", Color.White, out reason)) { return false; } reason = null; return true; }
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; }
public bool Initialize(GameMain gameMain, out string reason) { _gameMain = gameMain; _pathSprite = SpriteManager.GetSprite("Path", _gameMain.Random); _fuelCircle = SpriteManager.GetSprite("FuelCircle", _gameMain.Random); _selectionSprites = new BBSprite[4]; _selectionSprites[0] = SpriteManager.GetSprite("SelectionTL", _gameMain.Random); _selectionSprites[1] = SpriteManager.GetSprite("SelectionTR", _gameMain.Random); _selectionSprites[2] = SpriteManager.GetSprite("SelectionBL", _gameMain.Random); _selectionSprites[3] = SpriteManager.GetSprite("SelectionBR", _gameMain.Random); _showingFuelRange = false; _showingRadarRange = false; _showingOwners = false; _camera = new Camera(_gameMain.Galaxy.GalaxySize * 60, _gameMain.Galaxy.GalaxySize * 60, _gameMain.ScreenWidth, _gameMain.ScreenHeight); _starName = new RenderImage("starNameRendered", 1, 1, ImageBufferFormats.BufferRGB888A8); _starName.BlendingMode = BlendingModes.Modulated; _backBuffer = new RenderImage("galaxyBackBuffer", _gameMain.ScreenWidth, _gameMain.ScreenHeight, ImageBufferFormats.BufferRGB888A8); _backBuffer.BlendingMode = BlendingModes.Modulated; _systemView = new SystemView(); if (!_systemView.Initialize(_gameMain, "GalaxyScreen", out reason)) { return(false); } _fleetView = new FleetView(); if (!_fleetView.Initialize(_gameMain, out reason)) { return(false); } _taskBar = new TaskBar(); if (!_taskBar.Initialize(_gameMain, out reason)) { return(false); } _inGameMenu = new InGameMenu(); _researchScreen = new ResearchScreen(); _shipDesignScreen = new ShipDesignScreen(); _planetsView = new PlanetsView(); _fleetListScreen = new FleetListScreen(); if (!_inGameMenu.Initialize(_gameMain, out reason)) { return(false); } if (!_researchScreen.Initialize(_gameMain, out reason)) { return(false); } if (!_shipDesignScreen.Initialize(_gameMain, out reason)) { return(false); } if (!_planetsView.Initialize(_gameMain, out reason)) { return(false); } if (!_fleetListScreen.Initialize(_gameMain, out reason)) { return(false); } _inGameMenu.CloseWindow = CloseWindow; _researchScreen.CloseWindow = CloseWindow; _shipDesignScreen.CloseWindow = CloseWindow; _planetsView.CloseWindow = CloseWindow; _planetsView.CenterToSystem = CenterToSystem; _fleetListScreen.CloseWindow = CloseWindow; _fleetListScreen.SelectFleet = SelectFleet; _taskBar.ShowGameMenu = ShowInGameMenu; _taskBar.ShowResearchScreen = ShowResearchScreen; _taskBar.ShowShipDesignScreen = ShowShipDesignScreen; _taskBar.ShowPlanetsScreen = ShowPlanetsView; _taskBar.ShowFleetOverviewScreen = ShowFleetListScreen; _taskBar.EndTurn = CloseWindow; _travelETA = new BBLabel(); _tentativeETA = new BBLabel(); if (!_travelETA.Initialize(0, 0, "ETA", Color.White, out reason)) { return(false); } if (!_tentativeETA.Initialize(0, 0, "ETA", Color.White, out reason)) { return(false); } reason = null; return(true); }