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; } }
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); }