public void Enroll(Soldier soldier) { Soldiers.Add(soldier); var id = HeadQuarters.ReportEnlistment(soldier.Name); soldier.Id = id; }
public void ChangeMode(SurfacePanelMode newMode) { switch (newMode) { case SurfacePanelMode.Build: { int i = 0; hq = colony.hq; buildingsLevelToggles[0].transform.parent.gameObject.SetActive(true); while (i < buildingsLevelToggles.Length) { if (i >= hq.level) { buildingsLevelToggles[i].gameObject.SetActive(false); } else { buildingsLevelToggles[i].gameObject.SetActive(true); if (i == constructingLevel - 1) { buildingsLevelToggles[i].isOn = true; } else { buildingsLevelToggles[i].isOn = false; } } i++; } SetActionPanelStatus(false); SetBuildPanelStatus(true); returnButton.gameObject.SetActive(true); buildingButtonsContainer.gameObject.SetActive(true); // "surfaceBuildingPanel" RewriteBuildingButtons(); mode = SurfacePanelMode.Build; break; } case SurfacePanelMode.SelectAction: if (constructionPlane.activeSelf) { SwitchConstructionPlane(false); } buildIntersectionSubmit.SetActive(false); switch (mode) { case SurfacePanelMode.Build: SetBuildPanelStatus(false); break; } SetActionPanelStatus(true); mode = SurfacePanelMode.SelectAction; CheckGatherButton(); changeMaterialButton.gameObject.SetActive(IsChangeSurfaceMaterialAvalable()); columnCreateButton.gameObject.SetActive(IsColumnAvailable() & observingSurface.pos.y < Chunk.chunkSize); blockCreateButton.gameObject.SetActive(colony.hq.level > 5); break; } }
public void SetHQ(HeadQuarters new_hq) { if (new_hq != null) { hq = new_hq; } QuestUI.current.StartCoroutine(QuestUI.current.WaitForNewQuest(0)); }
public void ChangeMode(SurfacePanelMode newMode) { switch (newMode) { case SurfacePanelMode.Build: { int i = 0; hq = colony.hq; buildingsLevelToggles[0].transform.parent.gameObject.SetActive(true); while (i < buildingsLevelToggles.Length) { if (i >= hq.level) { buildingsLevelToggles[i].gameObject.SetActive(false); } else { buildingsLevelToggles[i].gameObject.SetActive(true); if (i == constructingLevel - 1) { buildingsLevelToggles[i].isOn = true; } else { buildingsLevelToggles[i].isOn = false; } } i++; } SetActionPanelStatus(false); SetBuildPanelStatus(true); returnButton.gameObject.SetActive(true); buildingButtonsContainer.gameObject.SetActive(true); // "surfaceBuildingPanel" RewriteBuildingButtons(); mode = SurfacePanelMode.Build; break; } case SurfacePanelMode.SelectAction: if (constructionPlane.activeSelf) { SwitchConstructionPlane(false); } buildIntersectionSubmit.SetActive(false); switch (mode) { case SurfacePanelMode.Build: SetBuildPanelStatus(false); break; } SetActionPanelStatus(true); mode = SurfacePanelMode.SelectAction; break; } }
void Update() { if (destroyed) { return; } if (!landPointSet) { transform.RotateAround(GameMaster.sceneCenter, Vector3.up, flySpeed * Time.deltaTime * GameMaster.gameSpeed); leftScrew.Rotate(0, SCREWS_ROTATION_SPEED * Time.deltaTime * GameMaster.gameSpeed, 0); rightScrew.Rotate(0, SCREWS_ROTATION_SPEED * Time.deltaTime * GameMaster.gameSpeed, 0); } else { if (destructionTimer > 0) { destructionTimer -= Time.deltaTime * GameMaster.gameSpeed; if (destructionTimer <= 0) { destroyed = true; //hq Structure s = HeadQuarters.GetHQ(1); if (landingByZAxis == true) { s.SetModelRotation(0); } else { s.SetModelRotation(2); } s.SetBasement(landingSurface, PixelPosByte.zero); //storage s = Structure.GetStructureByID(Structure.STORAGE_0_ID); Plane sb = (landingByZAxis == true) ? landingSurface.myChunk.GetSurfacePlane(landingSurface.pos.OneBlockForward()) : landingSurface.myChunk.GetSurfacePlane(landingSurface.pos.OneBlockRight()); s.SetBasement(sb, PixelPosByte.zero); GameMaster.realMaster.SetStartResources(); PoolMaster.current.BuildSplash(transform.position); if (GameMaster.soundEnabled) { GameMaster.audiomaster.Notify(NotificationSound.ColonyFounded); } FollowingCamera.main.SetLookPoint(s.transform.position); Destroy(gameObject); } } } }
public Army Attack(Army secondArmy) { while (ThereIsAFrontman(Frontman) && ThereIsAFrontman(secondArmy.Frontman)) { var winningFrontman = Frontman.Fight(secondArmy.Frontman); if (!isOurFrontman(winningFrontman)) { this.RemoveDeadSoldier(Frontman); } else { secondArmy.RemoveDeadSoldier(secondArmy.Frontman); } } var winningArmy = CheckWinningTeam(secondArmy); HeadQuarters.ReportVictory(winningArmy.Soldiers.Count); return(winningArmy); }
public void SetObservingSurface(Plane sb) { if (sb == null || sb.destroyed) { SelfShutOff(); return; } else { colony = GameMaster.realMaster.colonyController; hq = colony.hq; observingSurface = sb; isObserving = true; ChangeMode(SurfacePanelMode.SelectAction); if (constructionPlane.activeSelf) { PrepareConstructionPlane(); } } }
/// <summary> /// Load and Animate the paths /// </summary> /// <param name="path">Paths to animate</param> /// <param name="onComplete">Gets called when it's done animating</param> private IEnumerator AnimateLoadPath(List <Tile> path, Action onComplete = null) { HeadQuarters.AnimateFadeScaleIn(TileVisualState.HEADQUARTERS); for (int i = path.Count - 1; i >= 0; i--) { if (i == 0) { path[i].AnimateFadeScaleIn(TileVisualState.ENEMY_SPAWN); } else { path[i].AnimateFadeScaleIn(TileVisualState.PATH); } yield return(new WaitForSeconds(0.025f)); } if (onComplete != null) { onComplete(); } }
public void SetObservingSurface(SurfaceBlock sb) { if (sb == null) { SelfShutOff(); return; } else { hq = GameMaster.colonyController.hq; observingSurface = sb; isObserving = true; ChangeMode(SurfacePanelMode.SelectAction); if (constructionPlane.activeSelf) { PrepareConstructionPlane(); } STATUS_UPDATE_TIME = 1; timer = STATUS_UPDATE_TIME; } }
protected override void StatusUpdate() { if (observingSurface == null) { SelfShutOff(); return; } switch (mode) { case SurfacePanelMode.SelectAction: { hq = GameMaster.colonyController.hq; CheckGatherButton(); CleanSite cs = observingSurface.worksite as CleanSite; bool check = (cs != null && cs.diggingMission); if (check != status_digOrdered) { status_digOrdered = check; digButton.transform.GetChild(0).GetComponent <Text>().text = status_digOrdered ? Localization.GetPhrase(LocalizedPhrase.StopDig) : Localization.GetWord(LocalizedWord.Dig); } if (savedHqLevel != hq.level) { savedHqLevel = hq.level; blockCreateButton.gameObject.SetActive(IsBlockCreatingAvailable()); columnCreateButton.gameObject.SetActive(IsColumnAvailable()); } changeMaterialButton.gameObject.SetActive(IsChangeSurfaceMaterialAvalable()); break; } case SurfacePanelMode.Build: { if (chosenStructure != null) { switch (buildingCreateMode) { case BuildingCreateInfoMode.Acceptable: Storage storage = GameMaster.colonyController.storage; if (lastStorageStatus != storage.operationsDone) { float[] onStorage = storage.standartResources; for (int i = 0; i < resourcesCostImage.Length; i++) { int rid = (int)showingResourcesCount[i].x; resourcesCostImage[i].transform.GetChild(0).GetComponent <Text>().color = (onStorage[rid] < showingResourcesCount[i].y) ? Color.red : Color.white; } lastStorageStatus = storage.operationsDone; } break; case BuildingCreateInfoMode.Unacceptable_Material: if ((chosenStructure as Building).requiredBasementMaterialId == observingSurface.material_id) { SelectBuildingForConstruction(chosenStructure, selectedBuildingButton); } break; } //rotating window } } break; } }
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; }
void Update() { if (destroyed) { return; } if (!landPointSet) { transform.RotateAround(GameMaster.sceneCenter, Vector3.up, flySpeed * Time.deltaTime * GameMaster.gameSpeed); leftScrew.Rotate(0, SCREWS_ROTATION_SPEED * Time.deltaTime * GameMaster.gameSpeed, 0); rightScrew.Rotate(0, SCREWS_ROTATION_SPEED * Time.deltaTime * GameMaster.gameSpeed, 0); } else { if (destructionTimer > 0) { destructionTimer -= Time.deltaTime * GameMaster.gameSpeed; if (destructionTimer <= 0) { destroyed = true; //hq Structure hq = HeadQuarters.GetHQ(1), storage = null, setCenter = null; //storage if (landingByZAxis == true) { hq.SetModelRotation(0); hq.SetBasement(landingSurface, PixelPosByte.zero); var p2 = landingSurface.myChunk.GetSurfacePlane(landingSurface.pos.OneBlockForward()); storage = p2.CreateStructure(Structure.STORAGE_0_ID); p2 = landingSurface.myChunk.GetSurfacePlane(landingSurface.pos.OneBlockBack()); setCenter = p2.CreateStructure(Structure.SETTLEMENT_CENTER_ID); } else { hq.SetModelRotation(2); hq.SetBasement(landingSurface, PixelPosByte.zero); var chunk = landingSurface.myChunk; var npos = landingSurface.pos.OneBlockRight(); var p2 = chunk.GetSurfacePlane(npos); if (p2 == null) { p2 = chunk.GetBlock(npos).FORCED_GetPlane(Block.UP_FACE_INDEX); } storage = p2.CreateStructure(Structure.STORAGE_0_ID); npos = landingSurface.pos.OneBlockLeft(); p2 = chunk.GetSurfacePlane(npos); if (p2 == null) { p2 = chunk.GetBlock(npos).FORCED_GetPlane(Block.UP_FACE_INDEX); } setCenter = p2.CreateStructure(Structure.SETTLEMENT_CENTER_ID); } var et = GameMaster.realMaster.eventTracker; et.BuildingConstructed(hq); if (storage != null) { et.BuildingConstructed(storage); } if (setCenter != null) { et.BuildingConstructed(setCenter); } GameMaster.realMaster.SetStartResources(); PoolMaster.current.BuildSplash(transform.position); if (GameMaster.soundEnabled) { GameMaster.audiomaster.Notify(NotificationSound.ColonyFounded); } FollowingCamera.main.SetLookPoint(hq.transform.position); Destroy(gameObject); } } } }
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; }
public void CheckQuestsAccessibility(bool prepareQuestIfNone) { bool createNewQuests = prepareQuestIfNone & GameMaster.realMaster.UseQuestAutoCreating(); questAccessMap[0] = true; if (createNewQuests && activeQuests[0] == Quest.NoQuest) { StartNewQuestAwaiting(0); } questAccessMap[1] = true; if (createNewQuests && activeQuests[1] == Quest.NoQuest) { StartNewQuestAwaiting(1); } questAccessMap[2] = true; if (createNewQuests && activeQuests[2] == Quest.NoQuest) { StartNewQuestAwaiting(2); } HeadQuarters hq = GameMaster.realMaster.colonyController?.hq; if (hq != null) { var lvl = hq.level; if (lvl >= 2) { if (questAccessMap[3] == false) { UnblockQuestPosition(QuestSection.Three, prepareQuestIfNone); } else { if (createNewQuests && activeQuests[3] == Quest.NoQuest) { StartNewQuestAwaiting(3); } } if (lvl >= 3) { if (questAccessMap[4] == false) { UnblockQuestPosition(QuestSection.Five, prepareQuestIfNone); } else { if (createNewQuests && activeQuests[4] == Quest.NoQuest) { StartNewQuestAwaiting(4); } } if (lvl >= 4) { if (questAccessMap[6] == false) { UnblockQuestPosition(QuestSection.Six, prepareQuestIfNone); } else { if (createNewQuests && activeQuests[6] == Quest.NoQuest) { StartNewQuestAwaiting(5); } } if (lvl >= 5) { if (questAccessMap[7] == false) { UnblockQuestPosition(QuestSection.Seven, prepareQuestIfNone); } else { if (createNewQuests && activeQuests[7] == Quest.NoQuest) { StartNewQuestAwaiting(7); } } if (lvl >= 6) { if (questAccessMap[8] == false) { UnblockQuestPosition(QuestSection.Eight, prepareQuestIfNone); } else { if (createNewQuests && activeQuests[8] == Quest.NoQuest) { StartNewQuestAwaiting(8); } } } } } } } } else { return; } }
public void RemoveDeadSoldier(Soldier deadSoldier) { HeadQuarters.ReportCasualty(deadSoldier.Id); Soldiers.Remove(deadSoldier); }
public void SetObservingSurface(Plane sb) { if (sb == null || sb.destroyed) { SelfShutOff(); return; } else { colony = GameMaster.realMaster.colonyController; hq = colony.hq; observingSurface = sb; isObserving = true; ChangeMode(SurfacePanelMode.SelectAction); if (constructionPlane.activeSelf) { PrepareConstructionPlane(); } // var chunk = observingSurface.myChunk; var pos = sb.GetLookingPosition(); bool buildingAllowed = !chunk.IsAnyStructureInABlockSpace(pos) && observingSurface.isQuad; var col = buildingAllowed ? (chunk.IsSpaceBlocked(pos) ? Color.yellow : Color.white) : Color.grey; buildButton.transform.GetChild(0).GetComponent <Text>().color = col; buildButton.interactable = buildingAllowed; bool isTerminal = observingSurface.isTerminal; if (!isTerminal) { blockCreateButton.interactable = buildingAllowed; blockCreateButton.transform.GetChild(0).GetComponent <Text>().color = col; blockCreateButton.gameObject.SetActive(true); } else { blockCreateButton.gameObject.SetActive(false); } bool down = observingSurface.faceIndex == Block.DOWN_FACE_INDEX | observingSurface.faceIndex == Block.CEILING_FACE_INDEX; if (IsColumnAvailable() && !isTerminal && !down) { columnCreateButton.transform.GetChild(0).GetComponent <Text>().color = col; columnCreateButton.interactable = buildingAllowed; columnCreateButton.gameObject.SetActive(true); } else { columnCreateButton.gameObject.SetActive(false); } if (!buildingAllowed) { if (costPanel.activeSelf) { costPanel.SetActive(false); } if (surfaceBuildingPanel.activeSelf) { SetBuildPanelStatus(false); } } // CheckGatherButton(); bool disableDig = observingSurface.GetBlock()?.isInvincible ?? observingSurface.isInvicible; digButton.interactable = !disableDig; digButton.transform.GetChild(0).GetComponent <Text>().color = disableDig ? Color.grey: Color.white; changeMaterialButton.gameObject.SetActive(IsChangeSurfaceMaterialAvalable()); } }
public void CheckQuestsAccessibility() { questAccessMap[0] = true; questAccessMap[1] = true; questAccessMap[2] = true; HeadQuarters hq = GameMaster.realMaster.colonyController?.hq; if (hq != null) { var lvl = hq.level; if (lvl >= 2) { if (questAccessMap[3] == false) { UnblockQuestPosition(QuestSection.Three); } else { if (activeQuests[3] == Quest.NoQuest) { StartCoroutine(WaitForNewQuest(3)); } } if (lvl >= 3) { if (questAccessMap[4] == false) { UnblockQuestPosition(QuestSection.Five); } else { if (activeQuests[4] == Quest.NoQuest) { StartCoroutine(WaitForNewQuest(4)); } } if (lvl >= 4) { if (questAccessMap[6] == false) { UnblockQuestPosition(QuestSection.Six); } else { if (activeQuests[6] == Quest.NoQuest) { StartCoroutine(WaitForNewQuest(6)); } } if (lvl >= 5) { if (questAccessMap[7] == false) { UnblockQuestPosition(QuestSection.Seven); } else { if (activeQuests[7] == Quest.NoQuest) { StartCoroutine(WaitForNewQuest(7)); } } if (lvl >= 6) { if (questAccessMap[8] == false) { UnblockQuestPosition(QuestSection.Eight); } else { if (activeQuests[8] == Quest.NoQuest) { StartCoroutine(WaitForNewQuest(8)); } } } } } } } } else { return; } }
override public void StatusUpdate() { if (!isObserving) { return; } if (observingSurface == null || observingSurface.destroyed) { SelfShutOff(); return; } switch (mode) { case SurfacePanelMode.SelectAction: { hq = colony.hq; CheckGatherButton(); if (observingSurface.host.IsStructure()) { digButton.transform.GetChild(0).GetComponent <Text>().text = Localization.GetWord(LocalizedWord.Delete); } else { if (observingSurface.haveWorksite) { var w = colony.GetWorksite(observingSurface); if (w != null) { var cs = w as CleanSite; status_digOrdered = (cs != null && cs.diggingMission); } } digButton.transform.GetChild(0).GetComponent <Text>().text = status_digOrdered ? Localization.GetPhrase(LocalizedPhrase.StopDig) : Localization.GetWord(LocalizedWord.Dig); } if (savedHqLevel != hq.level) { savedHqLevel = hq.level; blockCreateButton.gameObject.SetActive(IsBlockCreatingAvailable()); columnCreateButton.gameObject.SetActive(IsColumnAvailable()); } changeMaterialButton.gameObject.SetActive(IsChangeSurfaceMaterialAvalable()); break; } case SurfacePanelMode.Build: { if (selectedStructureID != Structure.EMPTY_ID) { switch (buildingCreateMode) { case BuildingCreateInfoMode.Acceptable: Storage storage = colony.storage; if (lastStorageStatus != storage.operationsDone) { float[] onStorage = storage.standartResources; for (int i = 0; i < resourcesCostImage.Length; i++) { int rid = (int)showingResourcesCount[i].x; resourcesCostImage[i].transform.GetChild(0).GetComponent <Text>().color = (onStorage[rid] < showingResourcesCount[i].y) ? Color.red : Color.white; } lastStorageStatus = storage.operationsDone; } break; case BuildingCreateInfoMode.Unacceptable_Material: break; } //rotating window } } break; } }