/// <summary> /// Aktualisiert den FadingProgress des Switchings. /// </summary> public void Switch(Savegame pSavegame, ref SceneData pScene, Hansel pHansel, Gretel pGretel, Camera pCamera, TwoDRenderer pRenderer) { AIManager.Instance.ClearAgents(); FadingProgress += EngineSettings.Time.ElapsedGameTime.Milliseconds; pHansel.MoveManually(LeaveHansel, 1f, pScene); pGretel.MoveManually(LeaveGretel, 1f, pScene); if (FadingProgress >= FadingDuration) { //Switch pHansel.MoveInteractiveObject(DestinationHansel - pHansel.SkeletonPosition); pGretel.MoveInteractiveObject(DestinationGretel - pGretel.SkeletonPosition); pSavegame.SceneId = DestinationScene; pScene = pSavegame.Scenes[DestinationScene]; pCamera.GameScreen = pScene.GamePlane; pScene.SetupRenderList(pHansel, pGretel); pRenderer.AmbientLight = pScene.SceneAmbientLight; //Show on new Scene FadingProgress = 0; CurrentState = State.Entering; GameReferenzes.Level = pScene; AIManager.Instance.ChangeMap(pCamera.GameScreen, pScene.MoveArea); // Für alle weiteren Felder die nicht betreten werden können. AIManager.Instance.SetInterActiveObjects(pScene.InteractiveObjects); AIManager.Instance.SetAgents(pScene.Enemies); GameReferenzes.SceneID = DestinationScene; SoundHandler.Instance.ResetTime(); FmodMediaPlayer.Instance.SetBackgroundSong(GameReferenzes.GetBackgroundMusic()); GameReferenzes.IsSceneSwitching = false; } }
private void ContinueGame() { // Startet Spielstand aus der SaveDatei. FmodMediaPlayer.Instance.SetBackgroundSong(GameReferenzes.GetBackgroundMusic()); SceneManager.Instance.SetCurrentSceneTo("Game"); }