|
|
|
|
|
|
using System.Collections; |
|
|
|
using System.Collections.Generic; |
|
|
|
using UnityEngine; |
|
|
|
using UnityEditor; |
|
|
|
using UnityEditorInternal; |
|
|
|
using GameplayIngredients.Pickup; |
|
|
|
|
|
|
|
namespace GameplayIngredients.Editor |
|
|
|
{ |
|
|
|
[CustomEditor(typeof(PickupItem))] |
|
|
|
public class PickupItemEditor : UnityEditor.Editor |
|
|
|
{ |
|
|
|
ReorderableList m_RList; |
|
|
|
private void OnEnable() |
|
|
|
{ |
|
|
|
m_RList = new ReorderableList(((PickupItem)serializedObject.targetObject).effects, typeof(PickupEffectBase), false, true, false, false); |
|
|
|
m_RList.drawElementCallback = DrawElement; |
|
|
|
} |
|
|
|
|
|
|
|
void DrawElement(Rect rect, int index, bool isActive, bool isFocused) |
|
|
|
{ |
|
|
|
GUI.Label(rect,string.Format("#{0} - {1}", index+1, ObjectNames.NicifyVariableName(((PickupItem)serializedObject.targetObject).effects[index].GetType().Name))); |
|
|
|
} |
|
|
|
|
|
|
|
public override void OnInspectorGUI() |
|
|
|
{ |
|
|
|
GUILayout.Space(8); |
|
|
|
m_RList.DoLayoutList(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|