public override void ShowGUI(List <ActionParameter> parameters)
        {
            pauseResume = (PauseResume)EditorGUILayout.EnumPopup("Method:", pauseResume);

            listSource = (ActionRunActionList.ListSource)EditorGUILayout.EnumPopup("Source:", listSource);
            if (listSource == ActionRunActionList.ListSource.InScene)
            {
                parameterID = Action.ChooseParameterGUI("ActionList:", parameters, parameterID, ParameterType.GameObject);
                if (parameterID >= 0)
                {
                    constantID = 0;
                    actionList = null;
                }
                else
                {
                    actionList = (ActionList)EditorGUILayout.ObjectField("ActionList:", actionList, typeof(ActionList), true);

                    constantID = FieldToID <ActionList> (actionList, constantID);
                    actionList = IDToField <ActionList> (actionList, constantID, true);

                    if (actionList != null && actionList.actions.Contains(this))
                    {
                        EditorGUILayout.HelpBox("An ActionList cannot " + pauseResume.ToString() + " itself - it must be performed indirectly.", MessageType.Warning);
                    }
                }
            }
            else if (listSource == ActionRunActionList.ListSource.AssetFile)
            {
                parameterID = Action.ChooseParameterGUI("ActionList asset:", parameters, parameterID, ParameterType.UnityObject);
                if (parameterID < 0)
                {
                    actionListAsset = (ActionListAsset)EditorGUILayout.ObjectField("ActionList asset:", actionListAsset, typeof(ActionListAsset), false);

                    if (actionListAsset != null && actionListAsset.actions.Contains(this))
                    {
                        EditorGUILayout.HelpBox("An ActionList Asset cannot " + pauseResume.ToString() + " itself - it must be performed indirectly.", MessageType.Warning);
                    }
                }
            }

            if (pauseResume == PauseResume.Pause)
            {
                willWait = EditorGUILayout.Toggle("Wait until finish?", willWait);
                if (willWait)
                {
                    EditorGUILayout.HelpBox("The ActionList will complete any currently-running Actions before it pauses.", MessageType.Info);
                }
            }
            else if (pauseResume == PauseResume.Resume)
            {
                rerunPausedActions = EditorGUILayout.ToggleLeft("Re-run Action(s) at time of pause?", rerunPausedActions);
            }

            AfterRunningOption();
        }
 public override string SetLabel()
 {
     if (listSource == ActionRunActionList.ListSource.InScene && actionList != null)
     {
         return(pauseResume.ToString() + " " + actionList.name);
     }
     else if (listSource == ActionRunActionList.ListSource.AssetFile && actionList != null)
     {
         return(pauseResume.ToString() + " " + actionList.name);
     }
     return(string.Empty);
 }
Esempio n. 3
0
        public override string SetLabel()
        {
            string labelAdd = "";

            if (listSource == ActionRunActionList.ListSource.InScene && actionList != null)
            {
                labelAdd += " (" + pauseResume.ToString() + " " + actionList.name + ")";
            }
            else if (listSource == ActionRunActionList.ListSource.AssetFile && actionList != null)
            {
                labelAdd += " (" + pauseResume.ToString() + " " + actionList.name + ")";
            }

            return(labelAdd);
        }