// public void NextScenario() { //endscenario if (outerProceedButton.activeSelf) outerProceedButton.SetActive(false); timer = 0f; if (framedElement != null) DisableShowframe(); if (showArrow.gameObject.activeSelf) showArrow.gameObject.SetActive(false); if (!grcaster.enabled) grcaster.enabled = true; mcc.ChangeChosenObject(ChosenObjectType.None); // if (currentScenario.step != TutorialStep.UpgradeHQ) { var nextStep = currentScenario.step + 1; StartScenario(TutorialScenario.GetScenario(nextStep)); } else { GameMaster.realMaster.ChangePlayMode(GameStartSettings.GetModeChangingSettings(GameMode.Survival, Difficulty.Easy, StartFoundingType.Nothing)); var qs = currentScenario.DefineQuestSection(); if (qs == QuestSection.Endgame) mcc.questUI.BlockQuestPosition(qs); GameMaster.realMaster.UnbindScenario(currentScenario); currentScenario = null; Destroy(gameObject); } }
public static GameStartSettings GetEditorStartSettings(byte i_size) { var cgs = new GameStartSettings(); cgs.gameMode = GameMode.Editor; cgs.chunkGenerationSettings = ChunkGenerationSettings.GetGenerationSettings(ChunkGenerationMode.EditorPreset, i_size); return(cgs); }
/// <summary> /// starts new editor session and loads terrain preset /// </summary> public static GameStartSettings GetEditorStartSettings(string i_savename) { var cgs = new GameStartSettings(); cgs.gameMode = GameMode.Editor; cgs.chunkGenerationSettings = ChunkGenerationSettings.GetLoadingSettings(i_savename); return(cgs); }
public void StartGame() { GameStartSettings gss = new GameStartSettings(newGameGenMode, (byte)sizeSlider.value, (Difficulty)difficultyDropdown.value, roughnessSlider.value); GameMaster.gameStartSettings = gss; GameMaster.savename = string.Empty; SceneManager.LoadScene(SaveSystemUI.GAME_LEVEL_NUMBER); }
public static GameStartSettings GetDefaultStartSettings() { var cgs = new GameStartSettings(); cgs.gameMode = GameMode.Survival; cgs.chunkGenerationSettings = ChunkGenerationSettings.GetDefaultSettings(); cgs.subIndex0 = (byte)StartFoundingType.Zeppelin; return(cgs); }
public void PlayWithThisTerrain() { if (visualBorderDrawn) { GameMaster.realMaster.mainChunk.HideBorderLine(); } GameMaster.realMaster.SaveTerrain("lastCreatedTerrain"); GameMaster.realMaster.ChangePlayMode(GameStartSettings.GetModeChangingSettings(GameMode.Survival, Difficulty.Normal, StartFoundingType.Zeppelin)); }
public static GameStartSettings GetModeChangingSettings(GameMode newMode, Difficulty i_difficulty, StartFoundingType i_foundingType) { var cgs = new GameStartSettings(); cgs.gameMode = newMode; cgs.chunkGenerationSettings = ChunkGenerationSettings.GetNoActionSettings(); cgs.difficulty = i_difficulty; cgs.subIndex0 = (byte)i_foundingType; return(cgs); }
public void ChangePlayMode(GameStartSettings gss) { startSettings = null; _applyingGameStartSettings = gss; startSettings = null; sessionPrepared = false; Awake(); PrepareSession(); }
public static GameStartSettings GetLoadingSettings(GameMode i_gameMode, string i_savename) { var cgs = new GameStartSettings(); cgs.gameMode = i_gameMode; cgs.loadGame = true; cgs.chunkGenerationSettings = ChunkGenerationSettings.GetNoActionSettings(); cgs.savename = i_savename; return(cgs); }
public static GameStartSettings GetStartSettings(GameMode i_mode, ChunkGenerationSettings i_chunkSettings, Difficulty i_difficulty, StartFoundingType i_start) { var cgs = new GameStartSettings(); cgs.gameMode = i_mode; cgs.chunkGenerationSettings = i_chunkSettings; cgs.difficulty = i_difficulty; cgs.subIndex0 = (byte)i_start; return(cgs); }
public void StartGame() { if (newGameGenMode == ChunkGenerationMode.TerrainLoading & GameMaster.savename == string.Empty) { return; } GameStartSettings gss = new GameStartSettings(newGameGenMode, (byte)sizeSlider.value, (Difficulty)difficultyDropdown.value); GameMaster.gameStartSettings = gss; GameMaster.ChangeScene(GameMaster.PLAY_SCENE_INDEX); }
public static GameStartSettings GetTutorialSettings() { var gss = new GameStartSettings(); gss.gameMode = GameMode.Scenario; gss.subIndex0 = (byte)ScenarioType.Embedded; gss.subIndex1 = (byte)EmbeddedScenarioType.Tutorial; gss.loadTerrain = true; gss.savename = "tutorialTerrain"; gss.difficulty = Difficulty.Utopia; return(gss); }
// SCENERY CHANGING public static void StartNewGame(GameStartSettings gss) { if (realMaster == null) { _applyingGameStartSettings = gss; ChangeScene(PLAY_SCENE_INDEX); } else { if (gss.NeedLoading()) { realMaster.gameMode = gss.DefineGameMode(); realMaster.LoadGame(gss.GetSavenameFullpath()); } else { realMaster.ClearPreviousSessionData(); _applyingGameStartSettings = gss; realMaster.Awake(); realMaster.PrepareSession(); } } }
public void SaveLoadButton() { if (lastSelectedIndex == -1) { return; } if (saveMode) { submitWindow.SetActive(true); submitQuestionText.text = Localization.GetWord(LocalizedWord.Rewrite) + '?'; submitButtonText.text = Localization.GetWord(LocalizedWord.Yes); rejectButtonText.text = Localization.GetWord(LocalizedWord.Cancel); deleteSubmit = false; } else { if (terrainsLoading) {// ЗАГРУЗКА УРОВНЕЙ ДЛЯ РЕДАКТОРА string fullPath = GetTerrainsPath() + '/' + saveNames[lastSelectedIndex] + '.' + TERRAIN_FNAME_EXTENSION; if (ingame) { if (GameMaster.realMaster.LoadTerrain(fullPath)) { gameObject.SetActive(false); } } else { // теоретический сценарий, не должен использоваться if (File.Exists(fullPath)) { GameMaster.SetSavename(saveNames[lastSelectedIndex]); GameStartSettings gss = new GameStartSettings(ChunkGenerationMode.TerrainLoading); GameMaster.gameStartSettings = gss; GameMaster.ChangeScene(GameMaster.EDITOR_SCENE_INDEX); } else { saveNames[lastSelectedIndex] = "File not exist"; } } } else {// ЗАГРУЗКА УРОВНЕЙ ДЛЯ ИГРЫ string fullPath = GetSavesPath() + '/' + saveNames[lastSelectedIndex] + '.' + SAVE_FNAME_EXTENSION; if (ingame) { if (GameMaster.realMaster.LoadGame(fullPath)) { gameObject.SetActive(false); GameLogUI.MakeAnnouncement(Localization.GetAnnouncementString(GameAnnouncements.GameLoaded)); } } else { if (File.Exists(fullPath)) { GameMaster.SetSavename(saveNames[lastSelectedIndex]); GameStartSettings gss = new GameStartSettings(ChunkGenerationMode.GameLoading); GameMaster.gameStartSettings = gss; GameMaster.ChangeScene(GameMaster.PLAY_SCENE_INDEX); } else { saveNames[lastSelectedIndex] = "File not exist"; } } } } }
public void SaveLoadButton() { int sid = listController.selectedButtonIndex; if (sid == -1) { return; } if (saveMode) { submitWindow.SetActive(true); submitQuestionText.text = Localization.GetWord(LocalizedWord.Rewrite) + '?'; submitButtonText.text = Localization.GetWord(LocalizedWord.Yes); rejectButtonText.text = Localization.GetWord(LocalizedWord.Cancel); deleteSubmit = false; } else { bool ingame = GameMaster.realMaster != null; string name = savenames[sid]; if (workWithTerrains) {// ЗАГРУЗКА УРОВНЕЙ ДЛЯ РЕДАКТОРА string fullPath = GetTerrainSaveFullpath(name); if (ingame) { if (GameMaster.realMaster.LoadTerrain(fullPath)) { gameObject.SetActive(false); } } else { // теоретический сценарий, не должен использоваться if (File.Exists(fullPath)) { GameMaster.StartNewGame( GameStartSettings.GetEditorStartSettings(name) ); } else { PrepareSavesList(); } } } else {// ЗАГРУЗКА УРОВНЕЙ ДЛЯ ИГРЫ string fullPath = GetGameSaveFullpath(name); if (ingame) { if (GameMaster.realMaster.LoadGame(fullPath)) { gameObject.SetActive(false); UIController.GetCurrent().GetMainCanvasController().ChangeActiveWindow(ActiveWindowMode.NoWindow); AnnouncementCanvasController.MakeAnnouncement(Localization.GetAnnouncementString(GameAnnouncements.GameLoaded)); } } else { if (File.Exists(fullPath)) { GameMaster.StartNewGame( GameStartSettings.GetLoadingSettings(GameMode.Survival, name) ); } else { PrepareSavesList(); } } } } }
void PrepareSession() { if (sessionPrepared) { return; } bool activateEventTracker = false; switch (gameMode) { case GameMode.Survival: { uicontroller.ChangeUIMode(UIMode.Standart, true); difficulty = startSettings.DefineDifficulty(); SetDefaultValues(); var cgs = startSettings.GetChunkGenerationSettings(); var chunkAction = cgs.preparingActionMode; if (chunkAction != ChunkPreparingAction.NoAction) { if (chunkAction == ChunkPreparingAction.Load) { LoadTerrain(SaveSystemUI.GetTerrainsPath() + '/' + cgs.GetTerrainName() + '.' + SaveSystemUI.TERRAIN_FNAME_EXTENSION); } else { mainChunk = Constructor.ConstructChunk(cgs); var slist = mainChunk.GetSurfaces(); if (slist != null) { geologyModule.SpreadMinerals(slist); } mainChunk.InitializeNature().FirstLifeformGeneration(Chunk.chunkSize * Chunk.chunkSize * 500f); } } // var fcm = FollowingCamera.main; fcm.CameraToStartPosition(); fcm.ResetTouchRightBorder(); fcm.CameraRotationBlock(false); warProximity = 0.01f; layerCutHeight = Chunk.chunkSize; prevCutHeight = layerCutHeight; // switch (startSettings.DefineFoundingType()) { case StartFoundingType.Zeppelin: { Zeppelin.CreateNew(); AnnouncementCanvasController.MakeAnnouncement(Localization.GetAnnouncementString(GameAnnouncements.SetLandingPoint)); break; } case StartFoundingType.Headquarters: { Plane sb = mainChunk.GetRandomSurface(); int xpos = sb.pos.x; int zpos = sb.pos.z; Structure s; if (testMode) { s = HeadQuarters.GetHQ(6); weNeedNoResources = true; } else { weNeedNoResources = false; s = HeadQuarters.GetHQ(1); } Plane b = mainChunk.GetHighestSurfacePlane(xpos, zpos); s.SetBasement(b, PixelPosByte.zero); sb = mainChunk.GetNearestUnoccupiedSurface(b.pos); StorageHouse firstStorage = Structure.GetStructureByID(Structure.STORAGE_0_ID) as StorageHouse; firstStorage.SetBasement(sb, PixelPosByte.zero); SetStartResources(); break; } } fcm.WeNeedUpdate(); activateEventTracker = true; break; } case GameMode.Editor: { uicontroller.ChangeUIMode(UIMode.Editor, true); mainChunk = new GameObject("chunk").AddComponent <Chunk>(); int size = Chunk.chunkSize; int[,,] blocksArray = new int[size, size, size]; size /= 2; blocksArray[size, size, size] = ResourceType.STONE_ID; mainChunk.Rebuild(blocksArray); FollowingCamera.main.CameraToStartPosition(); break; } case GameMode.Scenario: { uicontroller.ChangeUIMode(UIMode.Standart, true); switch (startSettings.GetScenarioType()) { case ScenarioType.Embedded: { switch ((EmbeddedScenarioType)startSettings.GetSecondSubIndex()) { case EmbeddedScenarioType.Tutorial: { gameRules = GameRules.GetTutorialRules(); LoadTerrainFromAssets(TutorialScenarioNS.TutorialScenario.tutorialTerrainName); TutorialScenarioNS.TutorialUI.Initialize(); break; } } break; } } activateEventTracker = true; FollowingCamera.main.CameraToStartPosition(); break; } } if (activateEventTracker) { eventTracker = new EventChecker(); } startSettings = null; sessionPrepared = true; if (testMode) { AnnouncementCanvasController.MakeAnnouncement("game master loaded"); } autosaveTimer = AUTOSAVE_TIME; }
// private void Awake() { gameRules = GameRules.defaultRules; if (testMode && test_gameStartSettings != null) { _applyingGameStartSettings = test_gameStartSettings; test_gameStartSettings = null; } if (_applyingGameStartSettings == null && startSettings == null) { _applyingGameStartSettings = GameStartSettings.GetDefaultStartSettings(); } if (startSettings == null) { startSettings = _applyingGameStartSettings; _applyingGameStartSettings = null; } gameMode = startSettings.DefineGameMode(); if (gameMode == GameMode.MainMenu) { Destroy(gameObject); return; } if (realMaster != null & realMaster != this) { Destroy(realMaster); realMaster = this; return; } realMaster = this; sceneClearing = false; // uicontroller = UIController.GetCurrent(); // if (PoolMaster.current == null) { PoolMaster pm = gameObject.AddComponent(typeof(PoolMaster)) as PoolMaster; pm.Load(); } if (gameMode == GameMode.Survival) { globalMap = InitializeGlobalMap(); } if (environmentMaster == null) { environmentMaster = new GameObject("Environment master").AddComponent <EnvironmentMaster>(); } environmentMaster.Prepare(); if (audiomaster == null) { audiomaster = gameObject.AddComponent <Audiomaster>(); audiomaster.Prepare(); } if (geologyModule == null) { geologyModule = gameObject.AddComponent <GeologyModule>(); } Screen.sleepTimeout = SleepTimeout.NeverSleep; }
public void Editor_Start() { GameMaster.StartNewGame(GameStartSettings.GetEditorStartSettings(editor_chunkSizeValue)); }
void Start() { if (gameStarted) { return; } if (gameMode != GameMode.Editor) { difficulty = gameStartSettings.difficulty; SetDefaultValues(); //byte chunksize = gss.chunkSize; byte chunksize; chunksize = gameStartSettings.chunkSize; if (testMode && savenameToLoad != string.Empty) { gameStartSettings = new GameStartSettings(ChunkGenerationMode.GameLoading); savename = savenameToLoad; } if (gameStartSettings.generationMode != ChunkGenerationMode.GameLoading) { if (gameStartSettings.generationMode != ChunkGenerationMode.DontGenerate) { if (gameStartSettings.generationMode != ChunkGenerationMode.TerrainLoading) { Constructor.ConstructChunk(chunksize, gameStartSettings.generationMode); // Constructor.ConstructBlock(chunksize); if (gameStartSettings.generationMode == ChunkGenerationMode.Peak) { environmentMaster.PrepareIslandBasis(ChunkGenerationMode.Peak); } } else { LoadTerrain(SaveSystemUI.GetTerrainsPath() + '/' + savename + '.' + SaveSystemUI.TERRAIN_FNAME_EXTENSION); } } FollowingCamera.main.ResetTouchRightBorder(); FollowingCamera.main.CameraRotationBlock(false); warProximity = 0.01f; layerCutHeight = Chunk.chunkSize; prevCutHeight = layerCutHeight; switch (startGameWith) { case GameStart.Zeppelin: Instantiate(Resources.Load <GameObject>("Prefs/Zeppelin")); if (needTutorial) { GameLogUI.EnableDecisionWindow(null, Localization.GetTutorialHint(LocalizedTutorialHint.Landing)); } else { GameLogUI.MakeAnnouncement(Localization.GetAnnouncementString(GameAnnouncements.SetLandingPoint)); } break; case GameStart.Headquarters: var sblocks = mainChunk.surfaces; Plane sb = sblocks[Random.Range(0, sblocks.Length)]; int xpos = sb.pos.x; int zpos = sb.pos.z; Structure s; if (testMode) { s = HeadQuarters.GetHQ(6); weNeedNoResources = true; } else { weNeedNoResources = false; s = HeadQuarters.GetHQ(1); } Plane b = mainChunk.GetHighestSurfacePlane(xpos, zpos); s.SetBasement(b, PixelPosByte.zero); sb = mainChunk.GetHighestSurfacePlane(xpos - 1, zpos + 1); if (sb == null) { sb = mainChunk.GetHighestSurfacePlane(xpos, zpos + 1); if (sb == null) { sb = mainChunk.GetHighestSurfacePlane(xpos + 1, zpos + 1); if (sb == null) { sb = mainChunk.GetHighestSurfacePlane(xpos - 1, zpos); if (sb == null) { sb = mainChunk.GetHighestSurfacePlane(xpos + 1, zpos); if (sb == null) { sb = mainChunk.GetHighestSurfacePlane(xpos - 1, zpos - 1); if (sb == null) { sb = mainChunk.GetHighestSurfacePlane(xpos, zpos - 1); if (sb == null) { sb = mainChunk.GetHighestSurfacePlane(xpos + 1, zpos - 1); if (sb == null) { print("bad generation, do something!"); } } } } } } } } StorageHouse firstStorage = Structure.GetStructureByID(Structure.STORAGE_0_ID) as StorageHouse; firstStorage.SetBasement(sb, PixelPosByte.zero); SetStartResources(); break; } FollowingCamera.main.WeNeedUpdate(); } else { LoadGame(SaveSystemUI.GetSavesPath() + '/' + savename + ".sav"); } } else { gameObject.AddComponent <PoolMaster>().Load(); mainChunk = new GameObject("chunk").AddComponent <Chunk>(); int size = Chunk.chunkSize; int[,,] blocksArray = new int[size, size, size]; size /= 2; blocksArray[size, size, size] = ResourceType.STONE_ID; mainChunk.CreateNewChunk(blocksArray); } { // set look point FollowingCamera.camBasisTransform.position = sceneCenter; } gameStarted = true; }
static GameStartSettings() { Empty = new GameStartSettings(ChunkGenerationMode.Standart, 16, Difficulty.Normal); }
public GameStartSettings GetStartSettings() { //if (scenarioID == 0) return(GameStartSettings.GetTutorialSettings()); }
public void StartGame() { ChunkGenerationSettings cgs = null; switch (chunkPrepareAction) { case ChunkPreparingAction.Generate: cgs = ChunkGenerationSettings.GetGenerationSettings(chunkGenerationMode, (byte)sizeSlider.value); break; case ChunkPreparingAction.Load: cgs = ChunkGenerationSettings.GetLoadingSettings(selectedSaveName); break; default: cgs = ChunkGenerationSettings.GetNoActionSettings(); break; } // // switch (selectedGameMode) { case GameMode.Survival: { if (GameConstants.NeedTutorialNote()) { askWindowText.text = Localization.GetPhrase(LocalizedPhrase.AskNeedTutorial); askWindow_left.text = Localization.GetWord(LocalizedWord.Tutorial); askWindow_leftAction = () => { GameMaster.StartNewGame(GameStartSettings.GetTutorialSettings()); askWindow.SetActive(false); }; askWindow_right.text = Localization.GetWord(LocalizedWord.Cancel); askWindow_rightAction = () => { GameConstants.DisableTutorialNote(); this.StartGame(); askWindow.SetActive(false); }; askWindow.SetActive(true); return; } // GameMaster.StartNewGame( GameStartSettings.GetStartSettings(GameMode.Survival, cgs, (Difficulty)difficultyDropdown.value, StartFoundingType.Zeppelin) ); break; } case GameMode.Editor: { GameMaster.StartNewGame( GameStartSettings.GetStartSettings(GameMode.Editor, cgs, (Difficulty)difficultyDropdown.value, StartFoundingType.Zeppelin) ); break; } case GameMode.Scenario: { if (ng_selectedScenarioIndex != -1) { GameMaster.StartNewGame( scenariosRepresentators[ng_selectedScenarioIndex].GetStartSettings() ); } break; } } }
public void SaveLoadButton() { if (lastSelectedIndex == -1) { return; } if (saveMode) { submitWindow.SetActive(true); submitQuestionText.text = Localization.GetWord(LocalizedWord.Rewrite) + '?'; submitButtonText.text = Localization.GetWord(LocalizedWord.Yes); rejectButtonText.text = Localization.GetWord(LocalizedWord.Cancel); deleteSubmit = false; } else { if (terrainsLoading) {// ЗАГРУЗКА УРОВНЕЙ ДЛЯ РЕДАКТОРА string fullPath = Application.persistentDataPath + "/Terrains/" + saveNames[lastSelectedIndex] + '.' + TERRAIN_FNAME_EXTENSION; if (ingame) { if (GameMaster.realMaster.LoadTerrain(fullPath)) { gameObject.SetActive(false); } } else { // теоретический сценарий, не должен использоваться if (File.Exists(fullPath)) { GameMaster.savename = saveNames[lastSelectedIndex]; GameStartSettings gss = new GameStartSettings(ChunkGenerationMode.TerrainLoading); GameMaster.gameStartSettings = gss; SceneManager.LoadScene(EDITOR_LEVEL_NUMBER); } else { saveNames[lastSelectedIndex] = "File not exist"; } } } else {// ЗАГРУЗКА УРОВНЕЙ ДЛЯ ИГРЫ string fullPath = Application.persistentDataPath + "/Saves/" + saveNames[lastSelectedIndex] + '.' + SAVE_FNAME_EXTENSION; if (ingame) { if (GameMaster.realMaster.LoadGame(fullPath)) { gameObject.SetActive(false); UIController.current.MakeAnnouncement(Localization.GetAnnouncementString(GameAnnouncements.GameLoaded)); } else { string s = Localization.GetAnnouncementString(GameAnnouncements.LoadingFailed); UIController.current.MakeAnnouncement(s); saveNames[lastSelectedIndex] = s; } } else { if (File.Exists(fullPath)) { GameMaster.savename = saveNames[lastSelectedIndex]; GameStartSettings gss = new GameStartSettings(ChunkGenerationMode.GameLoading); GameMaster.gameStartSettings = gss; SceneManager.LoadScene(GAME_LEVEL_NUMBER); } else { saveNames[lastSelectedIndex] = "File not exist"; } } } } }