Exemplo n.º 1
0
        public void ShowGUI(bool isAssetFile, bool onlyEditValues = false, bool readOnly = false)
        {
            if (Application.isPlaying || readOnly)
            {
                EditorGUILayout.LabelField("Type:", parameterType.ToString());
                EditorGUILayout.LabelField("Current value:", "'" + GetLabel() + "'");
                CustomGUILayout.TokenLabel("[param:" + ID.ToString() + "]");
            }
            else
            {
                if (onlyEditValues)
                {
                    EditorGUILayout.LabelField("Type:", parameterType.ToString());
                }
                else
                {
                    parameterType = (ParameterType)EditorGUILayout.EnumPopup("Type:", parameterType);
                }

                switch (parameterType)
                {
                case ParameterType.Boolean:
                    BoolValue boolValue = (intValue == 1) ? BoolValue.True : BoolValue.False;
                    boolValue = (BoolValue)EditorGUILayout.EnumPopup("Default value:", boolValue);
                    intValue  = (boolValue == BoolValue.True) ? 1 : 0;
                    break;

                case ParameterType.Integer:
                    intValue = EditorGUILayout.IntField("Default value:", intValue);
                    break;

                case ParameterType.Float:
                    floatValue = EditorGUILayout.FloatField("Default value:", floatValue);
                    break;

                case ParameterType.String:
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Default value:", GUILayout.Width(145f));
                    EditorStyles.textField.wordWrap = true;
                    stringValue = EditorGUILayout.TextArea(stringValue, GUILayout.MaxWidth(400f));
                    EditorGUILayout.EndHorizontal();
                    break;

                case ParameterType.Vector3:
                    vector3Value = EditorGUILayout.Vector3Field("Default value:", vector3Value);
                    break;

                case ParameterType.UnityObject:
                    objectValue = (Object)EditorGUILayout.ObjectField("Default value:", objectValue, typeof(Object), true);
                    break;

                case ParameterType.Document:
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().inventoryManager)
                    {
                        InventoryManager inventoryManager = AdvGame.GetReferences().inventoryManager;
                        intValue = ActionRunActionList.ShowDocumentSelectorGUI("Default value:", inventoryManager.documents, intValue);
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("An Inventory Manager is required.", MessageType.Warning);
                    }
                    break;

                case ParameterType.InventoryItem:
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().inventoryManager)
                    {
                        InventoryManager inventoryManager = AdvGame.GetReferences().inventoryManager;
                        intValue = ActionRunActionList.ShowInvItemSelectorGUI("Default value:", inventoryManager.items, intValue);
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("An Inventory Manager is required to pass Inventory items.", MessageType.Warning);
                    }
                    break;

                case ParameterType.GlobalVariable:
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().variablesManager)
                    {
                        VariablesManager variablesManager = AdvGame.GetReferences().variablesManager;
                        intValue = ActionRunActionList.ShowVarSelectorGUI("Default value:", variablesManager.vars, intValue);
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("A Variables Manager is required to pass Global Variables.", MessageType.Warning);
                    }
                    break;

                case ParameterType.LocalVariable:
                    if (isAssetFile)
                    {
                        intValue = 0;
                        EditorGUILayout.HelpBox("Local Variable parameters cannot have default values in ActionList Assets.", MessageType.Info);
                    }
                    else
                    {
                        if (KickStarter.localVariables)
                        {
                            intValue = ActionRunActionList.ShowVarSelectorGUI("Default value:", KickStarter.localVariables.localVars, intValue);
                        }
                        else
                        {
                            EditorGUILayout.HelpBox("A GameEngine prefab is required to pass Local Variables.", MessageType.Warning);
                        }
                    }
                    break;

                case ParameterType.ComponentVariable:
                    if (isAssetFile)
                    {
                        variables = null;
                        intValue  = 0;
                        EditorGUILayout.HelpBox("Component Variable parameters cannot have default values in ActionList Assets.", MessageType.Info);
                    }
                    else
                    {
                        variables = (Variables)EditorGUILayout.ObjectField("Variables component:", variables, typeof(Variables), true);
                        if (variables != null)
                        {
                            intValue = ActionRunActionList.ShowVarSelectorGUI("Default value:", variables.vars, intValue);
                        }
                    }
                    break;

                case ParameterType.GameObject:
                    if (isAssetFile)
                    {
                        gameObject = (GameObject)EditorGUILayout.ObjectField("Default value:", gameObject, typeof(GameObject), true);
                        if (gameObject != null)
                        {
                            if (!UnityVersionHandler.IsPrefabFile(gameObject))
                            {
                                intValue   = Action.FieldToID(gameObject, intValue, false, isAssetFile);
                                gameObject = Action.IDToField(gameObject, intValue, true, false, isAssetFile);
                            }
                            else
                            {
                                // A prefab, ask if we want to affect the prefab or the scene-based instance?
                                gameObjectParameterReferences = (GameObjectParameterReferences)EditorGUILayout.EnumPopup("GameObject parameter:", gameObjectParameterReferences);
                            }
                        }
                        else
                        {
                            intValue = EditorGUILayout.IntField("Default value (ID #):", intValue);
                        }
                    }
                    else
                    {
                        // Gameobject
                        gameObject = (GameObject)EditorGUILayout.ObjectField("Default value:", gameObject, typeof(GameObject), true);
                        intValue   = 0;
                        if (gameObject != null && gameObject.GetComponent <ConstantID> () == null)
                        {
                            UnityVersionHandler.AddConstantIDToGameObject <ConstantID> (gameObject);
                        }
                    }
                    break;

                default:
                    break;
                }

                CustomGUILayout.TokenLabel("[param:" + ID.ToString() + "]");
            }
        }
        public static GUIData SetParametersGUI(List <ActionParameter> externalParameters, bool isAssetFile, GUIData guiData, List <ActionParameter> ownParameters = null)
        {
            guiData = SyncLists(externalParameters, guiData);

            EditorGUILayout.BeginVertical("Button");
            for (int i = 0; i < externalParameters.Count; i++)
            {
                string label    = externalParameters[i].label;
                int    linkedID = (i < guiData.parameterIDs.Count)
                                                                ? guiData.parameterIDs[i]
                                                                : -1;

                //guiData.fromParameters[i].ID = externalParameters[i].ID;
                guiData.fromParameters[i].parameterType = externalParameters[i].parameterType;
                if (externalParameters[i].parameterType == ParameterType.GameObject)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.GameObject);
                    if (linkedID < 0)
                    {
                        if (isAssetFile)
                        {
                            guiData.fromParameters[i].gameObject = (GameObject)EditorGUILayout.ObjectField(label + ":", guiData.fromParameters[i].gameObject, typeof(GameObject), true);
                            if (guiData.fromParameters[i].gameObject != null)
                            {
                                if (!UnityVersionHandler.IsPrefabFile(guiData.fromParameters[i].gameObject))
                                {
                                    guiData.fromParameters[i].intValue   = Action.FieldToID(guiData.fromParameters[i].gameObject, guiData.fromParameters[i].intValue, false, isAssetFile);
                                    guiData.fromParameters[i].gameObject = Action.IDToField(guiData.fromParameters[i].gameObject, guiData.fromParameters[i].intValue, true, false, isAssetFile);
                                }
                                else
                                {
                                    // A prefab, ask if we want to affect the prefab or the scene-based instance?
                                    guiData.fromParameters[i].gameObjectParameterReferences = (GameObjectParameterReferences)EditorGUILayout.EnumPopup("GameObject parameter:", guiData.fromParameters[i].gameObjectParameterReferences);
                                }
                            }
                            else
                            {
                                guiData.fromParameters[i].intValue = EditorGUILayout.IntField(label + " (ID #):", guiData.fromParameters[i].intValue);
                            }
                        }
                        else
                        {
                            // Gameobject
                            guiData.fromParameters[i].gameObject = (GameObject)EditorGUILayout.ObjectField(label + ":", guiData.fromParameters[i].gameObject, typeof(GameObject), true);
                            guiData.fromParameters[i].intValue   = 0;
                            if (guiData.fromParameters[i].gameObject != null && guiData.fromParameters[i].gameObject.GetComponent <ConstantID>() == null)
                            {
                                UnityVersionHandler.AddConstantIDToGameObject <ConstantID> (guiData.fromParameters[i].gameObject);
                            }
                        }
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.UnityObject)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.UnityObject);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].objectValue = (Object)EditorGUILayout.ObjectField(label + ":", guiData.fromParameters[i].objectValue, typeof(Object), true);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.GlobalVariable)
                {
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().variablesManager)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.GlobalVariable);
                        if (linkedID < 0)
                        {
                            VariablesManager variablesManager = AdvGame.GetReferences().variablesManager;
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowVarSelectorGUI(label + ":", variablesManager.vars, guiData.fromParameters[i].intValue);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("A Variables Manager is required to pass Global Variables.", MessageType.Warning);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.InventoryItem)
                {
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().inventoryManager)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.InventoryItem);
                        if (linkedID < 0)
                        {
                            InventoryManager inventoryManager = AdvGame.GetReferences().inventoryManager;
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowInvItemSelectorGUI(label + ":", inventoryManager.items, guiData.fromParameters[i].intValue);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("An Inventory Manager is required to pass Inventory items.", MessageType.Warning);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.Document)
                {
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().inventoryManager)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Document);
                        if (linkedID < 0)
                        {
                            InventoryManager inventoryManager = AdvGame.GetReferences().inventoryManager;
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowDocumentSelectorGUI(label + ":", inventoryManager.documents, guiData.fromParameters[i].intValue);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("An Inventory Manager is required to pass Documents.", MessageType.Warning);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.LocalVariable)
                {
                    if (KickStarter.localVariables)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.LocalVariable);
                        if (linkedID < 0)
                        {
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowVarSelectorGUI(label + ":", KickStarter.localVariables.localVars, guiData.fromParameters[i].intValue);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("A GameEngine prefab is required to pass Local Variables.", MessageType.Warning);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.String)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.String);
                    if (linkedID < 0)
                    {
                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(label + ":", GUILayout.Width(145f));
                        EditorStyles.textField.wordWrap       = true;
                        guiData.fromParameters[i].stringValue = EditorGUILayout.TextArea(guiData.fromParameters[i].stringValue, GUILayout.MaxWidth(400f));
                        EditorGUILayout.EndHorizontal();
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.Float)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Float);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].floatValue = EditorGUILayout.FloatField(label + ":", guiData.fromParameters[i].floatValue);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.Integer)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Integer);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].intValue = EditorGUILayout.IntField(label + ":", guiData.fromParameters[i].intValue);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.Vector3)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Vector3);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].vector3Value = EditorGUILayout.Vector3Field(label + ":", guiData.fromParameters[i].vector3Value);
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.Boolean)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Boolean);
                    if (linkedID < 0)
                    {
                        BoolValue boolValue = BoolValue.False;
                        if (guiData.fromParameters[i].intValue == 1)
                        {
                            boolValue = BoolValue.True;
                        }

                        boolValue = (BoolValue)EditorGUILayout.EnumPopup(label + ":", boolValue);

                        if (boolValue == BoolValue.True)
                        {
                            guiData.fromParameters[i].intValue = 1;
                        }
                        else
                        {
                            guiData.fromParameters[i].intValue = 0;
                        }
                    }
                }
                else if (externalParameters[i].parameterType == ParameterType.ComponentVariable)
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.ComponentVariable);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].variables = (Variables)EditorGUILayout.ObjectField("'" + label + "' component:", guiData.fromParameters[i].variables, typeof(Variables), true);
                        if (guiData.fromParameters[i].variables != null)
                        {
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowVarSelectorGUI(label + ":", guiData.fromParameters[i].variables.vars, guiData.fromParameters[i].intValue);
                        }
                    }
                }

                if (i < guiData.parameterIDs.Count)
                {
                    guiData.parameterIDs[i] = linkedID;
                }

                if (i < externalParameters.Count - 1)
                {
                    EditorGUILayout.Space();
                }
            }
            EditorGUILayout.EndVertical();

            return(guiData);
        }
Exemplo n.º 3
0
        public static GUIData SetParametersGUI(List <ActionParameter> externalParameters, bool isAssetFile, GUIData guiData, List <ActionParameter> ownParameters = null)
        {
            guiData = SyncLists(externalParameters, guiData);

            CustomGUILayout.BeginVertical();
            for (int i = 0; i < externalParameters.Count; i++)
            {
                string label    = externalParameters[i].label;
                string tooltip  = externalParameters[i].description;
                int    linkedID = (i < guiData.parameterIDs.Count)
                                                                ? guiData.parameterIDs[i]
                                                                : -1;

                guiData.fromParameters[i].parameterType = externalParameters[i].parameterType;

                switch (externalParameters[i].parameterType)
                {
                case ParameterType.GameObject:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.GameObject);
                    if (linkedID < 0)
                    {
                        if (isAssetFile)
                        {
                            guiData.fromParameters[i].gameObject = (GameObject)CustomGUILayout.ObjectField <GameObject> (label + ":", guiData.fromParameters[i].gameObject, true, string.Empty, tooltip);
                            if (guiData.fromParameters[i].gameObject)
                            {
                                if (!UnityVersionHandler.IsPrefabFile(guiData.fromParameters[i].gameObject))
                                {
                                    guiData.fromParameters[i].intValue   = Action.FieldToID(guiData.fromParameters[i].gameObject, guiData.fromParameters[i].intValue, false, isAssetFile);
                                    guiData.fromParameters[i].gameObject = Action.IDToField(guiData.fromParameters[i].gameObject, guiData.fromParameters[i].intValue, true, false, isAssetFile);
                                }
                                else
                                {
                                    // A prefab, ask if we want to affect the prefab or the scene-based instance?
                                    guiData.fromParameters[i].gameObjectParameterReferences = (GameObjectParameterReferences)EditorGUILayout.EnumPopup("GameObject parameter:", guiData.fromParameters[i].gameObjectParameterReferences);
                                }
                            }
                            else
                            {
                                guiData.fromParameters[i].intValue = CustomGUILayout.IntField(label + " (ID #):", guiData.fromParameters[i].intValue, string.Empty, tooltip);
                            }
                        }
                        else
                        {
                            // Gameobject
                            guiData.fromParameters[i].gameObject = (GameObject)CustomGUILayout.ObjectField <GameObject> (label + ":", guiData.fromParameters[i].gameObject, true, string.Empty, tooltip);
                            guiData.fromParameters[i].intValue   = 0;
                            if (guiData.fromParameters[i].gameObject && guiData.fromParameters[i].gameObject.GetComponent <ConstantID>() == null)
                            {
                                UnityVersionHandler.AddConstantIDToGameObject <ConstantID> (guiData.fromParameters[i].gameObject);
                            }
                        }
                    }
                }
                break;

                case ParameterType.UnityObject:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.UnityObject);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].objectValue = (Object)CustomGUILayout.ObjectField <Object> (label + ":", guiData.fromParameters[i].objectValue, true, string.Empty, tooltip);
                    }
                }
                break;

                case ParameterType.GlobalVariable:
                {
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().variablesManager)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.GlobalVariable, -1, tooltip);
                        if (linkedID < 0)
                        {
                            VariablesManager variablesManager = AdvGame.GetReferences().variablesManager;
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowVarSelectorGUI(label + ":", variablesManager.vars, guiData.fromParameters[i].intValue, tooltip);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("A Variables Manager is required to pass Global Variables.", MessageType.Warning);
                    }
                }
                break;

                case ParameterType.InventoryItem:
                {
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().inventoryManager)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.InventoryItem, -1, tooltip);
                        if (linkedID < 0)
                        {
                            InventoryManager inventoryManager = AdvGame.GetReferences().inventoryManager;
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowInvItemSelectorGUI(label + ":", inventoryManager.items, guiData.fromParameters[i].intValue, tooltip);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("An Inventory Manager is required to pass Inventory items.", MessageType.Warning);
                    }
                }
                break;

                case ParameterType.Document:
                {
                    if (AdvGame.GetReferences() && AdvGame.GetReferences().inventoryManager)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Document, -1, tooltip);
                        if (linkedID < 0)
                        {
                            InventoryManager inventoryManager = AdvGame.GetReferences().inventoryManager;
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowDocumentSelectorGUI(label + ":", inventoryManager.documents, guiData.fromParameters[i].intValue, tooltip);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("An Inventory Manager is required to pass Documents.", MessageType.Warning);
                    }
                }
                break;

                case ParameterType.LocalVariable:
                {
                    if (KickStarter.localVariables)
                    {
                        linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.LocalVariable, -1, tooltip);
                        if (linkedID < 0)
                        {
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowVarSelectorGUI(label + ":", KickStarter.localVariables.localVars, guiData.fromParameters[i].intValue, tooltip);
                        }
                    }
                    else
                    {
                        EditorGUILayout.HelpBox("A GameEngine prefab is required to pass Local Variables.", MessageType.Warning);
                    }
                }
                break;

                case ParameterType.String:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.String, -1, tooltip);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].stringValue = CustomGUILayout.TextArea(label, guiData.fromParameters[i].stringValue, string.Empty, tooltip);
                    }
                }
                break;

                case ParameterType.Float:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Float, -1, tooltip);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].floatValue = CustomGUILayout.FloatField(label + ":", guiData.fromParameters[i].floatValue, string.Empty, tooltip);
                    }
                }
                break;

                case ParameterType.Integer:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Integer, -1, tooltip);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].intValue = CustomGUILayout.IntField(label + ":", guiData.fromParameters[i].intValue, string.Empty, tooltip);
                    }
                }
                break;

                case ParameterType.Vector3:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Vector3, -1, tooltip);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].vector3Value = CustomGUILayout.Vector3Field(label + ":", guiData.fromParameters[i].vector3Value, string.Empty, tooltip);
                    }
                }
                break;

                case ParameterType.Boolean:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.Boolean, -1, tooltip);
                    if (linkedID < 0)
                    {
                        BoolValue boolValue = BoolValue.False;
                        if (guiData.fromParameters[i].intValue == 1)
                        {
                            boolValue = BoolValue.True;
                        }

                        boolValue = (BoolValue)CustomGUILayout.EnumPopup(label + ":", boolValue, string.Empty, tooltip);

                        if (boolValue == BoolValue.True)
                        {
                            guiData.fromParameters[i].intValue = 1;
                        }
                        else
                        {
                            guiData.fromParameters[i].intValue = 0;
                        }
                    }
                }
                break;

                case ParameterType.ComponentVariable:
                {
                    linkedID = Action.ChooseParameterGUI(label + ":", ownParameters, linkedID, ParameterType.ComponentVariable);
                    if (linkedID < 0)
                    {
                        guiData.fromParameters[i].variables = (Variables)EditorGUILayout.ObjectField("'" + label + "' component:", guiData.fromParameters[i].variables, typeof(Variables), true);
                        if (guiData.fromParameters[i].variables != null)
                        {
                            guiData.fromParameters[i].intValue = ActionRunActionList.ShowVarSelectorGUI(label + ":", guiData.fromParameters[i].variables.vars, guiData.fromParameters[i].intValue);
                        }
                    }
                }
                break;

                default:
                    break;
                }

                if (i < guiData.parameterIDs.Count)
                {
                    guiData.parameterIDs[i] = linkedID;
                }

                if (i < externalParameters.Count - 1)
                {
                    EditorGUILayout.Space();
                }
            }
            CustomGUILayout.EndVertical();

            return(guiData);
        }