Esempio n. 1
0
 void Update()
 {
     if (building == null || building.IsDeconstructed)
     {
         building = null;
         SelectionPanel.RemoveSelection();
     }
 }
Esempio n. 2
0
    void Update()
    {
        if (Character == null ||
            Character.DisplayObject == null ||
            Character.DisplayObject.DeathAnimationStarted)
        {
            SelectionPanel.RemoveSelection();
            Character = null;
            return;
        }

        HealthBar.SetFillPercentage(1f - Character.Needs["Health"]);
        HungerBar.SetFillPercentage(1f - Character.Needs["Hunger"]);
    }
Esempio n. 3
0
    void Update()
    {
        if (Storage == null || Storage.Building.IsDeconstructed)
        {
            Storage = null;
            SelectionPanel.RemoveSelection();
            return;
        }

        if (Storage.Changed == false)
        {
            return;
        }
        else
        {
            Storage.Changed = false;
            ShowResourcesInStorage();
        }
    }
Esempio n. 4
0
    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);
            }
        }
    }