Inheritance: MonoBehaviour
Example #1
0
        public static MvcHtmlString EditorFor <TModel, TValue>(this HtmlHelper <TModel> html,
                                                               Expression <Func <TModel, TValue> > expression,
                                                               bool useEnumTemplate, string templatename, object additionalViewData)
        {
            RouteValueDictionary vd = null;
            var style = "";

            if (additionalViewData != null)
            {
                vd    = new RouteValueDictionary(additionalViewData);
                style = (string)vd["Style"];
            }
            if (typeof(TValue).IsEnum)
            {
                return(EditorExtensions.EditorFor(html, expression, templatename, new { EnumType = typeof(TValue), Style = style, AdditionalRVD = vd }));
            }
            else if (Nullable.GetUnderlyingType(typeof(TValue)) != null &&
                     Nullable.GetUnderlyingType(typeof(TValue)).IsEnum)
            {
                return(EditorExtensions.EditorFor(html, expression, templatename,
                                                  new { EnumType = Nullable.GetUnderlyingType(typeof(TValue)), Style = style, AdditionalRVD = vd }));
            }

            return(EditorExtensions.EditorFor(html, expression, templatename, additionalViewData));
        }
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        //show add message
        if (GUILayout.Button("Add Message"))
        {
            s_messages.InsertArrayElementAtIndex(s_messages.arraySize);
        }

        //loop thru our message list
        for (int i = 0; i < s_messages.arraySize; i++)
        {
            DrawMessagesEntry(s_messages.GetArrayElementAtIndex(i), "Message " + (i + 1), i);
        }

        //show enableDialog toggle, if enabled, then show the dialog properties
        GUILayout.BeginVertical("box");

        EditorGUILayout.PropertyField(s_enableDialog, new GUIContent("Enable Dialog:"));

        if (s_enableDialog.boolValue)
        {
            EditorGUILayout.PropertyField(s_yesText, new GUIContent("Yes Button Label"), GUILayout.Height(30f));
            EditorExtensions.DrawActionsArray(s_yesActions, "Yes Actions");

            EditorGUILayout.PropertyField(s_noText, new GUIContent("No Button Label"), GUILayout.Height(30f));
            EditorExtensions.DrawActionsArray(s_noActions, "No Actions");
        }

        GUILayout.EndVertical();

        serializedObject.ApplyModifiedProperties();
    }
Example #3
0
 protected override void DisplayItemDatasProperties()
 {
     EditorGUILayout.PropertyField(loadInventory);
     if (loadInventory.enumValueIndex == 1)//override items
     {
         base.DisplayItemDatasProperties();
     }
     else
     {
         //load from userdata
         EditorGUILayout.PropertyField(userDataManager);
         var userData = userDataManager.GetRootValue <UserDataManager>();
         if (userData != null)
         {
             EditorGUILayout.PropertyField(user);
             var userSource = user.GetRootValue <IndexStringProperty>();
             if (userSource != null)
             {
                 userSource.stringValues = userData.GetUserNames();
                 var user = userData.GetUser(userSource.indexValue);
                 if (user != null)
                 {
                     quickMenuButtons.arraySize = user.inventoryItems.Length;
                 }
             }
         }
         else
         {
             EditorExtensions.LabelFieldCustom("Need " + userDataManager.displayName + " to get user information!", Color.red, FontStyle.Bold);
         }
     }
 }
Example #4
0
    protected override void DisplayDataProperties <T>()
    {
        EditorGUILayout.PropertyField(setData);
        if (setData.boolValue)
        {
            base.DisplayDataProperties <UnitData>();
        }
        else
        {
            EditorExtensions.LabelFieldCustom("User Options", FontStyle.Bold);
            EditorGUILayout.PropertyField(userMode);
            if (userMode.enumValueIndex == (int)Player.UserMode.Override)
            {
                EditorGUILayout.PropertyField(userDataManager);

                var man = userDataManager.GetRootValue <UserDataManager>();
                if (man != null)
                {
                    user.IndexStringPropertyField(man.GetUserNames());
                }
                else
                {
                    EditorExtensions.LabelFieldCustom("Need User Data Manager!", FontStyle.Bold, Color.red);
                }
            }
        }
    }
Example #5
0
 void SaveSprites()
 {
     foreach (var sprite in sprites)
     {
         EditorExtensions.SaveTexture(sprite, pathToCurrentFolder, sprite.name);
     }
 }
 public override void SetProperties()
 {
     base.SetProperties();
     EditorExtensions.LabelFieldCustom("InteractFX Properties", Color.black, FontStyle.Bold);
     EditorGUILayout.PropertyField(interacts, true);
     EditorGUILayout.PropertyField(runInteractsOnOwner);
 }
Example #7
0
    private void SetProperties()
    {
        EditorGUILayout.Space();
        EditorGUILayout.PropertyField(maxUsers);
        maxItems.IntFieldClamp(0, int.MaxValue);
        EditorGUILayout.PropertyField(setDefaultItems);
        if (setDefaultItems.boolValue)
        {
            EditorGUILayout.PropertyField(itemManager);
            var manager = itemManager.GetRootValue <ItemDataManager>();
            if (manager != null)
            {
                var itemArray = items.GetRootValue <ItemProperty[]>();
                for (int i = 0; i < itemArray.Length; i++)
                {
                    itemArray[i].itemNames = manager.GetItemNames();
                }
                EditorGUILayout.PropertyField(items, true);
            }
            else
            {
                EditorExtensions.LabelFieldCustom("Need " + itemManager.displayName + " to continue.", Color.red, FontStyle.Bold);
            }
            items.arraySize = maxItems.intValue;
        }

        DisplayNewUserFields();
        DisplayAllUsers();
    }
        public static MvcHtmlString BootstrapEditorFor <TModel, TValue>(this HtmlHelper <TModel> helper, Expression <Func <TModel, TValue> > expression)
        {
            MvcHtmlString label      = LabelExtensions.LabelFor(helper, expression, new { @class = "control-label col-xs-12 col-sm-4 col-md-3" });
            MvcHtmlString editor     = EditorExtensions.EditorFor(helper, expression, new { htmlAttributes = new { @class = "form-control" } });
            MvcHtmlString validation = ValidationExtensions.ValidationMessageFor(helper, expression, null, new { @class = "text-danger" });
            // Build the input elements
            TagBuilder editorDiv = new TagBuilder("div");

            editorDiv.AddCssClass("col-xs-4 col-sm-2 col-md-2 col-lg-1");
            editorDiv.InnerHtml = editor.ToString();
            // Build the validation message elements
            TagBuilder validationSpan = new TagBuilder("span");

            validationSpan.AddCssClass("help-block");
            validationSpan.InnerHtml = validation.ToString();
            TagBuilder validationDiv = new TagBuilder("div");

            validationDiv.AddCssClass("col-xs-12 col-md-8 col-sm-offset-4 col-md-offset-3");
            validationDiv.InnerHtml = validationSpan.ToString();
            // Combine all elements
            StringBuilder html = new StringBuilder();

            html.Append(label.ToString());
            html.Append(editorDiv.ToString());
            html.Append(validationDiv.ToString());
            // Build the outer div
            TagBuilder outerDiv = new TagBuilder("div");

            outerDiv.AddCssClass("form-group");
            outerDiv.InnerHtml = html.ToString();
            return(MvcHtmlString.Create(outerDiv.ToString()));
        }
Example #9
0
    protected virtual void DisplayPriorities()
    {
        EditorGUILayout.Space();
        EditorExtensions.LabelFieldCustom("Priority Settings", FontStyle.Bold);
        EditorGUILayout.PropertyField(entityDataManager);
        if (!entityDataManager.objectReferenceValue)
        {
            return;
        }

        //get data
        var entData  = new SerializedObject(entityDataManager.objectReferenceValue);
        var entities = entData.FindProperty("entities");

        chasePriorities.arraySize  = entities.arraySize;
        fleePriorities.arraySize   = entities.arraySize;
        lookAtPriorities.arraySize = entities.arraySize;

        //get id names
        var idNames = new string[chasePriorities.arraySize];

        for (int i = 0; i < entities.arraySize; i++)
        {
            idNames[i] = i.ToString();
        }

        //chase priorities
        DoPriorityList(chasePriorities, entities, idNames);
        DoPriorityList(lookAtPriorities, entities, idNames);
        DoPriorityList(fleePriorities, entities, idNames);
        entData.Dispose();
    }
Example #10
0
        public static MvcHtmlString PhoneEditorFor <TModel, TValue>(this HtmlHelper <TModel> helper, Expression <Func <TModel, TValue> > expression)
        {
            MvcHtmlString editor = EditorExtensions.EditorFor(helper, expression,
                                                              new { htmlAttributes = new { @class = "form-control" } });

            TagBuilder inputTableCell = new TagBuilder("div");

            inputTableCell.MergeAttribute("style", "display:table-cell;");
            inputTableCell.InnerHtml = editor.ToString()
                                       .Replace("class=\"form-control text-box single-line\"", "style=\"border:0;\"");

            TagBuilder prefixDiv = new TagBuilder("div");

            prefixDiv.MergeAttribute("style", "display:table-cell;width:28px;padding-top:5px;");
            prefixDiv.InnerHtml = "38 0";

            TagBuilder phoneFormControl = new TagBuilder("div");

            phoneFormControl.AddCssClass("form-control text-box single-line");
            phoneFormControl.MergeAttribute("style", "padding:0 0 0 12px;max-width: 280px;");
            phoneFormControl.InnerHtml = prefixDiv.ToString() + inputTableCell.ToString();

            StringBuilder html = new StringBuilder();

            html.Append(phoneFormControl.ToString());

            return(MvcHtmlString.Create(html.ToString()));
        }
Example #11
0
 void DrawOneWayDetectZone()
 {
     if (enableOneWayPlatforms.boolValue)
     {
         EditorExtensions.DrawDetectZone(source.transform, oneWayDetectZone);
     }
 }
Example #12
0
 protected virtual void SetProperties()
 {
     EditorGUILayout.Space();
     EditorExtensions.LabelFieldCustom("Initialize Options", FontStyle.Bold);
     EditorGUILayout.PropertyField(delay);
     EditorGUILayout.Space();
 }
Example #13
0
    void PreTriggerField(SerializedProperty _property, int _ind)
    {
        var preTriggerName = _property.FindPropertyRelative("preTriggerName");
        var activated      = _property.FindPropertyRelative("activated");

        EditorGUILayout.BeginHorizontal();

        var col = Color.green;

        if (!activated.boolValue)
        {
            col = Color.grey;
        }

        EditorExtensions.LabelFieldCustom("â—¯", FontStyle.Bold, col, 11, 2);

        if (preTriggerName.stringValue == "")
        {
            preTriggerName.stringValue = "PreTrigger " + _ind;
        }
        EditorGUILayout.PropertyField(preTriggerName);


        EditorGUILayout.EndHorizontal();
    }
 protected virtual void SetProperties()
 {
     EditorExtensions.SpritePreviewField(avatarIcon, 80, 80, true);
     DisplayEntityProperties();
     DisplayVitalityProperties();
     DisplayUIProperties();
 }
 public override void SetProperties()
 {
     base.SetProperties();
     EditorExtensions.LabelFieldCustom("HookShot Properties", Color.black, FontStyle.Bold);
     EditorGUILayout.PropertyField(shootType);
     EditorGUILayout.PropertyField(shootButton);
     EditorGUILayout.PropertyField(cancelButton);
     EditorGUILayout.PropertyField(hookPrefab);
     EditorGUILayout.PropertyField(lineRenderer);
     EditorGUILayout.PropertyField(damageMask);
     if (damageMask.intValue != 0)
     {
         EditorGUILayout.PropertyField(damage);
         EditorGUILayout.PropertyField(damageRadius);
         EditorGUILayout.PropertyField(retractOnDamage);
     }
     EditorGUILayout.PropertyField(fireSpeed);
     EditorGUILayout.PropertyField(lifeTime);
     EditorGUILayout.PropertyField(dragType);
     if (dragType.enumValueIndex == 0)
     {
         EditorGUILayout.PropertyField(dragSpeed);
     }
     else
     {
         EditorGUILayout.PropertyField(controlSpeed);
     }
     EditorGUILayout.PropertyField(minDistance);
     EditorGUILayout.PropertyField(hookableSurfaceMask);
     EditorGUILayout.PropertyField(cancelShotMask);
     EditorGUILayout.PropertyField(obstacleCollisionMask);
     EditorGUILayout.PropertyField(collisionRadius);
 }
Example #16
0
 public virtual void DisplayRotation()
 {
     EditorGUILayout.Space();
     EditorExtensions.LabelFieldCustom("Rotation Settings", FontStyle.Bold);
     rotSensitivity.FloatFieldClamp(1, Mathf.Infinity);
     EditorGUILayout.PropertyField(ignoreLeanRotation);
 }
 public override void SetProperties()
 {
     base.SetProperties();
     EditorGUILayout.LabelField("Weapon Properties", boldStyle);
     EditorGUILayout.PropertyField(damage);
     EditorGUILayout.PropertyField(instantFirstShot);
     EditorGUILayout.PropertyField(fireDelay);
     EditorGUILayout.PropertyField(spreadType);
     if (spreadType.enumValueIndex != 0)
     {
         EditorGUILayout.PropertyField(fireAmount);
         EditorGUILayout.PropertyField(angle);
         if (spreadType.enumValueIndex == 2)
         {
             EditorGUILayout.PropertyField(randomAmount);
         }
     }
     EditorGUILayout.PropertyField(fireType);
     if (fireType.enumValueIndex == 0)
     {
         EditorGUILayout.PropertyField(fireDistance);
     }
     else
     {
         EditorExtensions.PrefabFieldWithComponent(projectile, typeof(Projectile));
         EditorGUILayout.PropertyField(projectileSpeed);
     }
     EditorGUILayout.PropertyField(aimTransformAtTarget);
     if (aimTransformAtTarget.boolValue)
     {
         EditorGUILayout.PropertyField(aimTrans);
     }
     EditorGUILayout.PropertyField(mask);
 }
Example #18
0
    void DrawNavMeshDebug()
    {
        if (!source.Agent)
        {
            return;
        }

        if (!source.Agent.hasPath || source.Agent.pathPending)
        {
            return;
        }

        Handles.color = Color.green;
        var pathPoints = source.Agent.path.corners;

        if (pathPoints.Length > 0)
        {
            for (int i = 0; i < pathPoints.Length; i++)
            {
                if (i > 0)
                {
                    Handles.DrawLine(pathPoints[i], pathPoints[i - 1]);
                }
            }

            EditorExtensions.DrawWireSphere(source.CurDestination, Quaternion.identity, 0.2f, Color.red);
        }
    }
Example #19
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        EditorGUILayout.PropertyField(s_itemDatabase, new GUIContent("Item Database: "));

        if (source.ItemDatabase != null)
        {
            //draw the popup/enum for selecting items
            source.itemId = EditorGUILayout.Popup(source.itemId, source.ItemDatabase.ItemsNames.ToArray());

            EditorGUILayout.PropertyField(s_giveItem, new GUIContent("Give Item: "));

            //draw item entry
            DrawItemEntry(source.CurrentItem);

            EditorExtensions.DrawActionsArray(s_yesActions, "Yes Actions: ");
            //EditorGUILayout.PropertyField(s_yesActions, new GUIContent("Yes Actions: "), true);
            EditorExtensions.DrawActionsArray(s_noActions, "No Actions: ");
            //EditorGUILayout.PropertyField(s_noActions, new GUIContent("No Actions: "), true);
        }

        if (GUI.changed)
        {
            if (source.ItemDatabase != null)
            {
                source.ChangeItem(source.ItemDatabase.GetItem(source.itemId));
            }

            EditorUtility.SetDirty(source);
            EditorSceneManager.MarkSceneDirty(source.gameObject.scene);
        }

        serializedObject.ApplyModifiedProperties();
    }
 public override void OnEnable()
 {
     base.OnEnable();
     pSource = (PlayerController)source;
     SetHeaderStyle();
     axisNames = EditorExtensions.GetInputAxisNames();
 }
Example #21
0
 protected override void DisplayDataProperties <T>()
 {
     //skins
     base.DisplayDataProperties <UnitData>();
     if (data.objectReferenceValue)
     {
         EditorExtensions.LabelFieldCustom("Skin Options", FontStyle.Bold);
         EditorGUILayout.PropertyField(skinOptions);
         if (skinOptions.enumValueIndex == (int)Unit.SpawnSkinOptions.Override)
         {
             spawnSkinOverride.objectReferenceValue = EditorGUILayout.ObjectField("Prefab Override", spawnSkinOverride.objectReferenceValue, typeof(GameObject), false);
         }
         else if (skinOptions.enumValueIndex == (int)Unit.SpawnSkinOptions.Child)
         {
             EditorGUILayout.PropertyField(childSkinOverride);
             var child = childSkinOverride.GetRootValue <GameObject>();
             if (child)
             {
                 if (!source.transform.FindDeepChild(child.name))
                 {
                     Debug.Log("You must assign a child of " + source + " to " + childSkinOverride.displayName);
                     childSkinOverride.objectReferenceValue = null;
                 }
             }
         }
     }
     else
     {
         EditorExtensions.LabelFieldCustom("You must assign a unit data file to " + data.displayName, FontStyle.Bold, Color.red);
     }
 }
    protected override void DisplayMovement()
    {
        base.DisplayMovement();
        EditorGUILayout.PropertyField(constantSpeed);
        EditorGUILayout.PropertyField(forwardZMovementOnly);
        EditorGUILayout.PropertyField(backwardSpeed);

        EditorExtensions.LabelFieldCustom("Movement Input", FontStyle.Bold);
        EditorGUILayout.PropertyField(enableJoystickUse);
        horizontalInput.InputPropertyField(axisNames);
        verticalInput.InputPropertyField(axisNames);
        keyboardAimInputHor.InputPropertyField(axisNames);
        keyboardAimInputVer.InputPropertyField(axisNames);
        if (enableJoystickUse.boolValue)
        {
            joystickAimInputHor.InputPropertyField(axisNames);
            joystickAimInputVer.InputPropertyField(axisNames);
        }
        EditorGUILayout.PropertyField(rawInputValues);
        EditorGUILayout.PropertyField(invertY);

        EditorGUILayout.Space();
        EditorExtensions.LabelFieldCustom("Run Settings", FontStyle.Bold);
        EditorGUILayout.PropertyField(enableRun);
        if (enableRun.boolValue)
        {
            runButton.InputPropertyField(axisNames);
        }

        EditorGUILayout.Space();
        EditorExtensions.LabelFieldCustom("Crouch Settings", FontStyle.Bold);
        EditorGUILayout.PropertyField(enableCrouch);
        if (enableCrouch.boolValue)
        {
            crouchButton.InputPropertyField(axisNames);
            EditorGUILayout.PropertyField(toggleCrouch);
            EditorGUILayout.PropertyField(crouchTime);
            EditorGUILayout.PropertyField(crouchSpeed);
            EditorGUILayout.PropertyField(crouchSpeedTime);
        }

        EditorGUILayout.Space();
        EditorExtensions.LabelFieldCustom("Climbing Settings", FontStyle.Bold);
        EditorGUILayout.PropertyField(enableClimbing);
        if (enableClimbing.boolValue)
        {
            EditorGUILayout.PropertyField(climbingDetect);
            EditorGUILayout.PropertyField(climbSpeed);
        }


        EditorGUILayout.Space();
        EditorExtensions.LabelFieldCustom("In Air Settings", FontStyle.Bold);
        EditorGUILayout.PropertyField(inAirControlTime);
        EditorGUILayout.PropertyField(enableMovementSmoothing);
        if (enableMovementSmoothing.boolValue)
        {
            EditorGUILayout.PropertyField(moveSensitivity);
        }
    }
Example #23
0
    protected override void SetProperties()
    {
        base.SetProperties();

        EditorExtensions.LabelFieldCustom("Item Properties", FontStyle.Bold);
        EditorGUILayout.PropertyField(connectedPrefab);
        EditorGUILayout.PropertyField(weight);
        EditorGUILayout.PropertyField(droppable);
        if (droppable.boolValue)
        {
            EditorGUI.indentLevel++;
            EditorGUILayout.PropertyField(droppedPrefab);
            EditorGUI.indentLevel--;
        }
        EditorGUILayout.PropertyField(quickMenuCompatible);

        EditorGUILayout.PropertyField(locationData);
        if (locationData.objectReferenceValue)
        {
            var locData = locationData.objectReferenceValue as ItemLocationData;
            spawnLocationNames = locData.GetItemLocationNames();
            defaultSpawnLocation.IndexStringPropertyField(locData.GetItemLocationNames());
        }
        else
        {
            EditorExtensions.LabelFieldCustom("Need location data to spawn item on unit", FontStyle.Bold, Color.red);
        }

        EditorGUILayout.PropertyField(buffs, true);
        CheckModelPrefabLink();
    }
    void DisplayJumping()
    {
        EditorGUILayout.Space();
        EditorExtensions.LabelFieldCustom("Jump Settings", FontStyle.Bold);
        EditorGUILayout.PropertyField(enableJump);

        if (enableJump.boolValue)
        {
            jumpButton.InputPropertyField(axisNames);
            EditorGUILayout.PropertyField(jumpStyle);
            EditorGUILayout.PropertyField(enableDoubleJump);
            if (enableClimbing.boolValue)
            {
                EditorGUILayout.PropertyField(enableJumpClimbing);
            }
            if (jumpStyle.enumValueIndex == 1)
            {
                EditorGUILayout.PropertyField(gravityMultiplier);
                EditorGUILayout.PropertyField(lowJumpMultiplier);
            }
            if (jumpStyle.enumValueIndex == 2)
            {
                EditorGUILayout.PropertyField(jumpCurve);
                EditorGUILayout.PropertyField(jumpTime);
            }
        }
    }
Example #25
0
 protected override void SetProperties()
 {
     base.SetProperties();
     EditorExtensions.LabelFieldCustom("Behaviour Settings", FontStyle.Bold);
     behaviour.IndexStringField(componentNames);
     EditorGUILayout.PropertyField(enable);
 }
Example #26
0
    static void DisplayValidation()
    {
        EditorExtensions.LabelFieldCustom("Validation Options", FontStyle.Bold);
        validationMask.intValue = EditorGUILayout.MaskField("Validation Mask", validationMask.intValue, System.Enum.GetNames(typeof(EngineEventTrigger.ValidationType)));
        if (validationMask.intValue == (validationMask.intValue | (1 << (int)EngineEventTrigger.ValidationType.Layer)))
        {
            EditorGUILayout.PropertyField(validationLayer);
        }
        if (validationMask.intValue == (validationMask.intValue | (1 << (int)EngineEventTrigger.ValidationType.Tag)))
        {
            EditorGUILayout.PropertyField(validationTag);
        }
        if (validationMask.intValue == (validationMask.intValue | (1 << (int)EngineEventTrigger.ValidationType.UnitValueAmount)))
        {
            EditorGUILayout.PropertyField(engineValueDataManager);
            if (engineValueDataManager.objectReferenceValue)
            {
                var val = engineValueDataManager.GetRootValue <EngineValueDataManager>();
                if (val)
                {
                    selection.EngineValueSelectionField(engineValueDataManager);
                }

                EditorGUILayout.PropertyField(valueOption);
                EditorGUILayout.PropertyField(comparedValue);
            }
        }
    }
Example #27
0
 private void OnEnable()
 {
     source    = (MenuManager)target;
     sourceRef = serializedObject;
     axisNames = EditorExtensions.GetInputAxisNames();
     GetProperties();
 }
Example #28
0
 public override void SetProperties()
 {
     base.SetProperties();
     EditorExtensions.LabelFieldCustom("Torch Properties", Color.black, FontStyle.Bold);
     EditorGUILayout.PropertyField(lightMaxRange);
     EditorGUILayout.PropertyField(lightDrainSpeed);
 }
Example #29
0
    public override void SetProperties()
    {
        base.SetProperties();
        EditorGUILayout.PropertyField(icon);
        EditorGUILayout.PropertyField(spawnUI);
        if (spawnUI.boolValue)
        {
            EditorGUI.indentLevel++;
            EditorExtensions.PrefabFieldWithComponent(itemUI, typeof(UIValueAmount));
            EditorGUILayout.PropertyField(setOwnerAsParent);
            EditorGUILayout.PropertyField(keepUIActiveIfDropped);
            EditorGUI.indentLevel--;
        }

        EditorGUILayout.PropertyField(value);
        EditorGUILayout.PropertyField(weight);
        EditorGUILayout.PropertyField(droppable);
        if (droppable.boolValue)
        {
            EditorGUI.indentLevel++;
            EditorGUILayout.PropertyField(droppedPrefab);
            EditorGUI.indentLevel--;
        }
        EditorGUILayout.PropertyField(quickMenuCompatible);
        EditorGUILayout.PropertyField(buffs, true);
    }
Example #30
0
    protected virtual void DisplaySpawnProperties()
    {
        if (setSkin.boolValue)
        {
            EditorGUILayout.LabelField("Spawn Properties", boldStyle);
            EditorGUILayout.PropertyField(locationData);
            var locData = locationData.GetRootValue <ItemLocationData>();
            if (locData)
            {
                var names = locData.GetItemLocationNames();
                itemSpawnLocations.arraySize = names.Length;
                for (int i = 0; i < names.Length; i++)
                {
                    var ele                  = itemSpawnLocations.GetArrayElementAtIndex(i);
                    var overrideParent       = ele.FindPropertyRelative("overrideParent");
                    var overridePropertyName = ele.FindPropertyRelative("overridePropertyName");
                    var parent               = ele.FindPropertyRelative("parent");

                    overrideParent.boolValue         = true;
                    parent.objectReferenceValue      = skinPrefab.objectReferenceValue;
                    overridePropertyName.stringValue = names[i];
                    EditorGUILayout.PropertyField(ele);
                }
            }
            else
            {
                EditorExtensions.LabelFieldCustom("Need location data to spawn items on unit", FontStyle.Bold, Color.red);
            }
        }
    }