private void StartPlayingSavedGame(GameSaveStruct saveStruct) { this.Options = new GameOptions(saveStruct.Options); this.StartPlayingGame(); SurvivorSubsystem.AddPlayerOneSurvivorSprite(new SurvivorSprite(this, saveStruct.PlayerOneSurvivorSprite)); foreach (ZombieSpriteSaveStruct zombieSpriteSaveStruct in saveStruct.ZombieSprites) { ZombieSprite zombieSprite = new ZombieSprite(this, zombieSpriteSaveStruct); ZombiesSubsystem.AddZombieSprite(zombieSprite); } foreach (CollectableSaveStruct collectableSaveStruct in saveStruct.Collectables) { CollectablesSubsystem.AddCollectable(new Collectable(this, collectableSaveStruct)); switch (collectableSaveStruct.CollectableEntityType) { case CollectableEntityType.Health: CollectablesSubsystem.HealthCollectablesSpawned++; break; case CollectableEntityType.Gasoline: CollectablesSubsystem.GasolineCollectablesSpawned++; break; case CollectableEntityType.PistolAmmo: CollectablesSubsystem.PistolAmmoCollectablesSpawned++; break; case CollectableEntityType.ShotgunAmmo: CollectablesSubsystem.ShotgunAmmoCollectablesSpawned++; break; case CollectableEntityType.Energy: CollectablesSubsystem.EnergyCollectablesSpawned++; break; default: break; } } // Reset Zombie Subsystem ZombiesSubsystem.WaveTimer = saveStruct.WaveTimer; AchievmentsSubsystem.Initialize(saveStruct.Achievments); this.Results = new GameResults(saveStruct.Stats); this.GamePaused = true; }