void ProcessMessages() { switch (uiManager.GetMessage()) { case DaggerfallUIMessages.dfuiSetupGameWizard: uiManager.PushWindow(new DaggerfallUnitySetupGameWizard(uiManager)); break; case DaggerfallUIMessages.dfuiInitGame: InitGame(splashVideo); break; case DaggerfallUIMessages.dfuiInitGameFromDeath: InitGame(deathVideo); break; case DaggerfallUIMessages.dfuiStartNewGameWizard: uiManager.PushWindow(new StartNewGameWizard(uiManager)); break; case DaggerfallUIMessages.dfuiOpenPauseOptionsDialog: uiManager.PushWindow(dfPauseOptionsWindow); break; case DaggerfallUIMessages.dfuiOpenCharacterSheetWindow: uiManager.PushWindow(dfCharacterSheetWindow); break; case DaggerfallUIMessages.dfuiOpenInventoryWindow: uiManager.PushWindow(dfInventoryWindow); break; case DaggerfallUIMessages.dfuiOpenTravelMapWindow: if (!GameManager.Instance.IsPlayerInside) //TODO: pop-up when try to travel near enemies { uiManager.PushWindow(dfTravelMapWindow); } break; case DaggerfallUIMessages.dfuiOpenAutomap: if (GameManager.Instance.PlayerEnterExit.IsPlayerInside) // open automap only if player is in interior or dungeon - TODO: location automap for exterior locations { GameManager.Instance.PauseGame(true); uiManager.PushWindow(dfAutomapWindow); } else { ContentReader.MapSummary mapSummary; DFPosition mapPixel = GameManager.Instance.PlayerGPS.CurrentMapPixel; if (DaggerfallUnity.Instance.ContentReader.HasLocation(mapPixel.X, mapPixel.Y, out mapSummary)) { // There's a location at this map pixel GameManager.Instance.PauseGame(true); uiManager.PushWindow(dfExteriorAutomapWindow); } } break; case DaggerfallUIMessages.dfuiOpenRestWindow: if (GameManager.Instance.CanPlayerRest()) { uiManager.PushWindow(new DaggerfallRestWindow(uiManager)); } break; case DaggerfallUIMessages.dfuiOpenQuestInspector: uiManager.PushWindow(dfQuestInspector); break; case DaggerfallUIMessages.dfuiOpenBookReaderWindow: uiManager.PushWindow(dfBookReaderWindow); break; case DaggerfallUIMessages.dfuiExitGame: #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif break; } }
void ProcessMessages() { switch (uiManager.GetMessage()) { case DaggerfallUIMessages.dfuiSetupGameWizard: uiManager.PushWindow(new DaggerfallUnitySetupGameWizard(uiManager)); break; case DaggerfallUIMessages.dfuiInitGame: InitGame(splashVideo); break; case DaggerfallUIMessages.dfuiInitGameFromDeath: InitGame(deathVideo); break; case DaggerfallUIMessages.dfuiStartNewGameWizard: uiManager.PushWindow(new StartNewGameWizard(uiManager)); break; case DaggerfallUIMessages.dfuiOpenPauseOptionsDialog: uiManager.PushWindow(dfPauseOptionsWindow); break; case DaggerfallUIMessages.dfuiOpenCharacterSheetWindow: uiManager.PushWindow(dfCharacterSheetWindow); break; case DaggerfallUIMessages.dfuiOpenInventoryWindow: uiManager.PushWindow(dfInventoryWindow); break; case DaggerfallUIMessages.dfuiOpenControlsWindow: uiManager.PushWindow(dfControlsWindow); break; case DaggerfallUIMessages.dfuiOpenJoystickControlsWindow: uiManager.PushWindow(dfJoystickControlsWindow); break; case DaggerfallUIMessages.dfuiOpenMouseControlsWindow: uiManager.PushWindow(dfUnityMouseControlsWindow); break; case DaggerfallUIMessages.dfuiOpenSpellBookWindow: if (!GameManager.Instance.PlayerSpellCasting.IsPlayingAnim) { uiManager.PushWindow(dfSpellBookWindow); } break; case DaggerfallUIMessages.dfuiOpenTravelMapWindow: if (!GameManager.Instance.IsPlayerInside) { if (GameManager.Instance.AreEnemiesNearby()) { MessageBox(HardStrings.cannotTravelWithEnemiesNearby); } else { if (!GiveOffer()) { uiManager.PushWindow(dfTravelMapWindow); } } } break; case DaggerfallUIMessages.dfuiOpenAutomap: if (GameManager.Instance.PlayerEnterExit.IsPlayerInside) // open automap only if player is in interior or dungeon - TODO: location automap for exterior locations { GameManager.Instance.PauseGame(true); uiManager.PushWindow(dfAutomapWindow); } else { ContentReader.MapSummary mapSummary; DFPosition mapPixel = GameManager.Instance.PlayerGPS.CurrentMapPixel; if (DaggerfallUnity.Instance.ContentReader.HasLocation(mapPixel.X, mapPixel.Y, out mapSummary)) { // There's a location at this map pixel GameManager.Instance.PauseGame(true); uiManager.PushWindow(dfExteriorAutomapWindow); } } break; case DaggerfallUIMessages.dfuiOpenRestWindow: if (GameManager.Instance.AreEnemiesNearby()) { // Alert player if monsters nearby const int enemiesNearby = 354; MessageBox(enemiesNearby); } else if (GameManager.Instance.PlayerEnterExit.IsPlayerSwimming) { const int cannotRestNow = 355; MessageBox(cannotRestNow); } else if (GameManager.Instance.PlayerController.isGrounded) { if (!GiveOffer()) { uiManager.PushWindow(new DaggerfallRestWindow(uiManager)); } } break; case DaggerfallUIMessages.dfuiOpenTransportWindow: if (GameManager.Instance.PlayerEnterExit.IsPlayerInside) { AddHUDText(HardStrings.cannotChangeTransportationIndoors); } else { if (GameManager.Instance.PlayerController.isGrounded) { uiManager.PushWindow(new DaggerfallTransportWindow(uiManager)); } } break; case DaggerfallUIMessages.dfuiOpenQuestInspector: uiManager.PushWindow(dfQuestInspector); break; case DaggerfallUIMessages.dfuiOpenBookReaderWindow: uiManager.PushWindow(dfBookReaderWindow); break; case DaggerfallUIMessages.dfuiOpenQuestJournalWindow: uiManager.PushWindow(dfQuestJournalWindow); break; case DaggerfallUIMessages.dfuiStatusInfo: DisplayStatusInfo(); break; case DaggerfallUIMessages.dfuiExitGame: #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif break; } }
void ProcessMessages() { switch (uiManager.GetMessage()) { case DaggerfallUIMessages.dfuiSetupGameWizard: uiManager.PushWindow(new DaggerfallUnitySetupGameWizard(uiManager)); break; case DaggerfallUIMessages.dfuiInitGame: InitGame(splashVideo); break; case DaggerfallUIMessages.dfuiInitGameFromDeath: InitGame(deathVideo); break; case DaggerfallUIMessages.dfuiStartNewGameWizard: uiManager.PushWindow(new StartNewGameWizard(uiManager)); break; case DaggerfallUIMessages.dfuiOpenPauseOptionsDialog: uiManager.PushWindow(dfPauseOptionsWindow); break; case DaggerfallUIMessages.dfuiOpenCharacterSheetWindow: uiManager.PushWindow(dfCharacterSheetWindow); break; case DaggerfallUIMessages.dfuiOpenInventoryWindow: uiManager.PushWindow(dfInventoryWindow); break; case DaggerfallUIMessages.dfuiOpenTravelMapWindow: if (!GameManager.Instance.IsPlayerInside) //TODO: pop-up when try to travel near enemies { uiManager.PushWindow(dfTravelMapWindow); } break; case DaggerfallUIMessages.dfuiOpenAutomap: if (GameManager.Instance.PlayerEnterExit.IsPlayerInside) // open automap only if player is in interior or dungeon - TODO: location automap for exterior locations { GameManager.Instance.PauseGame(true); uiManager.PushWindow(dfAutomapWindow); } break; case DaggerfallUIMessages.dfuiOpenRestWindow: if (GameManager.Instance.CanPlayerRest()) { uiManager.PushWindow(new DaggerfallRestWindow(uiManager)); } break; case DaggerfallUIMessages.dfuiExitGame: #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif break; } }