public BuildNewGameEvent(object source, GameSettings settings) : base(source) { Settings = settings; }
// called by MonoGameManager when the existing scene is prepared public void BuildAndLoadNewGame(GameSettings settings) { GameState = GameState.Building; // building the level begins here when implemented Settings = settings; HumanPlayer = CreateHumanPlayer(settings); GameState = GameState.Loading; // tell ManagementObjects to drop its children (including SaveGameManager!) before the scene gets reloaded _eventMgr.Raise<SceneChangingEvent>(new SceneChangingEvent(this, SceneLevel.GameScene)); D.Log("Application.LoadLevel({0}) being called.", SceneLevel.GameScene.GetValueName()); Application.LoadLevel((int)SceneLevel.GameScene); }
private HumanPlayer CreateHumanPlayer(GameSettings gameSettings) { HumanPlayer humanPlayer = new HumanPlayer(gameSettings.UserPlayerRace); return humanPlayer; }
/// <summary> /// Temporary method that simulates the launch of a game from the Lobby, for use when /// starting in GameScene. /// </summary> private void __SimulateBuildGameFromLobby_Step1() { GameState = GameState.Lobby; // avoids the Illegal state transition Error GameState = GameState.Building; GameSettings settings = new GameSettings { IsSavedGame = true, UniverseSize = _playerPrefsMgr.UniverseSize, UserPlayerRace = new Race(new RaceStat(_playerPrefsMgr.UserPlayerSpeciesSelection, "Maxii", new StringBuilder("Maxii description"), _playerPrefsMgr.UserPlayerColor)) }; Settings = settings; HumanPlayer = CreateHumanPlayer(settings); GameState = GameState.Loading; }