public void LoadState(HiveState newState) { _state = newState; if (newState.LevelIndex < 0 && _startingLevelIndex >= 0) { newState.LevelIndex = _startingLevelIndex; // overriding the starting index here if set. } LoadHiveLevel(newState.LevelIndex); }
public static GameState CreateNew() { var lGameState = new GameState(); if (Debug.isDebugBuild) { lGameState.Seed = 42; } else { lGameState.Seed = Random.Range(int.MinValue, int.MaxValue); } lGameState.Attributes = new AttributeSet(); lGameState.World = WorldState.CreateNew(lGameState.Seed); lGameState.Hive = HiveState.CreateNew(); lGameState.Statistics = StatisticsSet.CreateDefault(); lGameState.Upgrades = UpgradeState.CreateNew(); lGameState.ChangeDayManager(); return(lGameState); }