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