public override void onUpdate() { /* Figure out what's active and what's not active. */ /* Remove views that are no longer active. */ List <ActionStatusView> toRemove = new List <ActionStatusView>(); foreach (ActionStatusView view in activeActionViews) { if (!SupplyChainController.instance.activeActions.Contains(view.action)) { toRemove.Add(view); } } foreach (ActionStatusView v in toRemove) { activeActionViews.Remove(v); } /* Add newly active views. */ foreach (SupplyChainAction activeAction in SupplyChainController.instance.activeActions) { if (!activeActionViews.Exists((ActionStatusView v) => { return(v.action == activeAction); })) { activeActionViews.Add(ActionStatusView.getActionDetailsView(activeAction)); } } foreach (ActionStatusView view in activeActionViews) { view.onUpdate(); } }
public void showActiveActions() { if (selectedActView != null) { if (selectedActView.drawStatusWindow()) { selectedActView = null; } } else { GUILayout.Label("Currently Active Actions:"); foreach (ActionStatusView v in activeActionViews) { if (v.drawSelectorButton()) { selectedActView = v; } } } }