示例#1
0
        public void SetViewFromEntity(IUpdatesStatus selectedEntity)
        {
            //Player selected a different entity
            if (m_LastSelectedEntity != null && m_LastSelectedEntity != selectedEntity)
            {
                m_LastSelectedEntity.UpdateStatus -= ReactToBuilidingStatusChange;
                ActionStackContainerInstance.RemoveIconButtons();
            }
            m_LastSelectedEntity = selectedEntity;

            if (m_LastSelectedEntity == null)
            {
                ActionStackContainerInstance.RemoveIconButtons();
                SetVariableState(VariableState.SelectModeView);
            }
            else if (m_LastSelectedEntity is Entities.Building)
            {
                this.ResourceCostContainer.CurrentMenuTypeState = ResourceCostContainerRuntime.MenuType.TrainUnits;
                UpdateBuildingStatus(m_LastSelectedEntity as Entities.Building);
                SetVariableState(VariableState.SelectedEntity);
                m_LastSelectedEntity.UpdateStatus += ReactToBuilidingStatusChange;
                ShowAvailableUnits(m_LastSelectedEntity);
            }

            if (m_LastSelectedEntity != null)
            {
                this.ReactToUpdateUiChangeEvent(this, new UpdateUiEventArgs()
                {
                    TitleDisplay = m_LastSelectedEntity.EntityData.MenuTitleDisplay
                });
            }
        }
        private void AddBuildingOptionsToActionPanel()
        {
            bool addButtons = ActionStackContainerInstance.IconButtonList.Count == 0;

#if DEBUG
            addButtons &= Entities.DebuggingVariables.DoNotAddActionPanelButtons == false;
#endif
            if (addButtons)
            {
                this.SetVariableState(VariableState.BuildMenuSelected);
                this.ResourceCostContainer.CurrentMenuTypeState = ResourceCostContainerRuntime.MenuType.BuildMenu;

                ActionStackContainerInstance.AddBuildingToggleButtons();
            }
        }
        private void PerformCancelStep()
        {
            switch (this.CurrentVariableState)
            {
            case VariableState.PlacingBuilding:
                this.ActionStackContainerInstance.RemoveIconButtons();
                AddBuildingOptionsToActionPanel();
                break;

            case VariableState.BuildMenuSelected:
            case VariableState.SelectedEntity:
                ((GameScreen)ScreenManager.CurrentScreen).DeselectBuilding();
                ActionStackContainerInstance.RemoveIconButtons();
                this.SetVariableState(VariableState.SelectModeView);
                break;
            }
        }
示例#4
0
 private void UpdateBuilidngTrainingStatus(Entities.Building building)
 {
     ActionStackContainerInstance.UpdateIconCoolDown(building);
 }
 private void AddUnitOptionsToActionPanel(IUpdatesStatus units = null)
 {
     ActionStackContainerInstance.RefreshToggleButtonsTo(units);
 }
 public void ShowAvailableUnits(IUpdatesStatus selectedEntity)
 {
     ActionStackContainerInstance.RefreshToggleButtonsTo(selectedEntity);
     SetVariableState(VariableState.SelectedEntity);
 }