public void ShowResourcesInStorage() { if (activePanel == null || activePanel.gameObject.activeSelf == false) { return; } tempResourcesList = SelectionPanel.GetResourcesList(Storage.Resources); tempResourcesList.AddRange(SelectionPanel.GetResourcesList(Storage.ReservedResources)); tempResourcesList.Sort(); activePanel.HideResourceIcons(); for (int index = 0; index < tempResourcesList.Count; index++) { activePanel.ShowResourceIcon(tempResourcesList[index], index); } }
void Update() { if (Service == null || Service.Building.IsDeconstructed) { Service = null; SelectionPanel.RemoveSelection(); return; } ProgressBar.SetFillPercentage(Service.GetServicePercentage()); if (firstShow || Service.InputStorage.Changed) { if (firstShow) { firstShow = false; } if (Service.InputStorage.Changed) { Service.InputStorage.Changed = false; } SelectionPanel.HideResourceIcons(icons, this.transform); if (Service.Prototype.ConsumedResources != null) { tempRequiredResources = SelectionPanel.GetResourcesList(Service.Prototype.ConsumedResources); tempResources = SelectionPanel.GetResourcesList(Service.InputStorage.Resources); foreach (Character c in Service.InputStorage.ReservedResources.Keys) { tempResources.Add(Service.InputStorage.ReservedResources[c]); } SelectionPanel.ShowIconsWithRequirements(new List <ResourceIconSlot>() { InputSlot }, tempRequiredResources, tempResources, icons); } } }
void Update() { if (ConstructionSite == null) { return; } else if (ConstructionSite.GetCompletionPercentage() >= 1f) { ConstructionSite = null; SelectionPanel.RemoveSelection(); return; } if (ConstructionSite.Building != null) { if (firstShow || lastStage != ConstructionSite.Stage || lastTransitionState != ConstructionSite.TransitionToDeconstructionStage) { if (ConstructionSite.TransitionToDeconstructionStage) { if (ConstructionSite.Stage == ConstructionStage.Construction) { Text.text = GameManager.Instance.GetText("s_deconstruction_site"); } else if (ConstructionSite.Stage == ConstructionStage.ScaffoldingConstruction) { Text.text = GameManager.Instance.GetText("s_scaffolding_deconstruction"); } } else { if (ConstructionSite.Stage == ConstructionStage.Construction) { Text.text = GameManager.Instance.GetText("s_construction_site"); } else if (ConstructionSite.Stage == ConstructionStage.ScaffoldingConstruction) { Text.text = GameManager.Instance.GetText("s_scaffolding_construction"); } else if (ConstructionSite.Stage == ConstructionStage.Deconstruction) { Text.text = GameManager.Instance.GetText("s_deconstruction_site"); } else if (ConstructionSite.Stage == ConstructionStage.ScaffoldingDeconstruction) { Text.text = GameManager.Instance.GetText("s_scaffolding_deconstruction"); } } } SubText.text = ConstructionSite.Building.Name; } float percentage = ConstructionSite.GetStageCompletionPercentage(); if (ConstructionSite.DeconstructionMode || (ConstructionSite.ConstructionMode && ConstructionSite.TransitionToDeconstructionStage)) { percentage = 1f - percentage; } if (ConstructionSite.Halted) { ProgressBar.SetFillPercentageWithoutText(percentage); ProgressBar.SetText(GameManager.Instance.GetText("s_halted")); } else { ProgressBar.SetFillPercentage(percentage); } if (firstShow || ConstructionSite.InputStorage.Changed || ConstructionSite.OutputStorage.Changed || lastStage != ConstructionSite.Stage || lastTransitionState != ConstructionSite.TransitionToDeconstructionStage) { if (firstShow) { firstShow = false; } if (ConstructionSite.InputStorage.Changed) { ConstructionSite.InputStorage.Changed = false; } if (ConstructionSite.OutputStorage.Changed) { ConstructionSite.OutputStorage.Changed = false; } lastStage = ConstructionSite.Stage; lastTransitionState = ConstructionSite.TransitionToDeconstructionStage; SelectionPanel.HideResourceIcons(icons, this.transform); if (ConstructionSite.ConstructionMode) { if (ConstructionSite.Stage == ConstructionStage.ScaffoldingConstruction && ConstructionSite.Prototype.ResourcesForScaffoldingConstruction != null) { tempRequiredResources = SelectionPanel.GetResourcesList(ConstructionSite.Prototype.ResourcesForScaffoldingConstruction); tempRequiredResources.Sort(); tempResources = SelectionPanel.GetResourcesList(ConstructionSite.InputStorage.Resources); SelectionPanel.ShowIconsWithRequirements(slots, tempRequiredResources, tempResources, icons); } else if (ConstructionSite.Prototype.ConstructionResources != null) { tempRequiredResources = SelectionPanel.GetResourcesList(ConstructionSite.Prototype.ConstructionResources); tempRequiredResources.Sort(); tempResources = SelectionPanel.GetResourcesList(ConstructionSite.InputStorage.Resources); SelectionPanel.ShowIconsWithRequirements(slots, tempRequiredResources, tempResources, icons); } } else if (ConstructionSite.DeconstructionMode) { tempResources = SelectionPanel.GetResourcesList(ConstructionSite.OutputStorage.Resources); tempResources.AddRange(SelectionPanel.GetResourcesList(ConstructionSite.OutputStorage.ReservedResources)); tempResources.Sort(); for (int index = 0; index < tempResources.Count; index++) { SelectionPanel.ShowResourceIcon(tempResources[index], slots[index], false, icons); } } } }
void Update() { if (Factory == null || Factory.Building.IsDeconstructed) { SelectionPanel.RemoveSelection(); return; } if (Factory.Halted) { ProgressBar.SetFillPercentageWithoutText(Factory.GetCompletionPercentage()); ProgressBar.SetText(GameManager.Instance.GetText("s_halted")); } else { ProgressBar.SetFillPercentage(Factory.GetCompletionPercentage()); } if (firstShow || Factory.InputStorage.Changed || Factory.OutputStorage.Changed) { if (firstShow) { firstShow = false; } if (Factory.InputStorage.Changed) { Factory.InputStorage.Changed = false; } if (Factory.OutputStorage.Changed) { Factory.OutputStorage.Changed = false; } SelectionPanel.HideResourceIcons(icons, this.transform); if (Factory.Prototype.ConsumedResources != null) { tempRequiredResources = SelectionPanel.GetResourcesList(Factory.Prototype.ConsumedResources); tempRequiredResources.Sort(); tempResources = SelectionPanel.GetResourcesList(Factory.InputStorage.Resources); SelectionPanel.ShowIconsWithRequirements(inputSlots, tempRequiredResources, tempResources, icons); } if (Factory.Prototype.ProducedResources != null) { tempRequiredResources = SelectionPanel.GetResourcesList(Factory.Prototype.ProducedResources); tempRequiredResources.Sort(); tempResources = SelectionPanel.GetResourcesList(Factory.OutputStorage.Resources); foreach (Character c in Factory.OutputStorage.ReservedResources.Keys) { tempResources.Add(Factory.OutputStorage.ReservedResources[c]); } SelectionPanel.ShowIconsWithRequirements(outputSlots, tempRequiredResources, tempResources, icons); } if (Factory.ProducesRobot) { GameObject icon = SimplePool.Spawn(RobotIconPrefab, outputSlots[0].transform.position, Quaternion.identity); icon.transform.SetParent(outputSlots[0].transform); icons.Add(icon); } } }