Ejemplo n.º 1
0
    private void SetRemoveCallback(ReorderableList list, List <FSMTransitionCondition> targetList)
    {
        list.onRemoveCallback = (ReorderableList rlist) =>
        {
            int j = rlist.index;

            FSMTransitionCondition dataCondition = targetList[j];

            targetList.RemoveAt(j);

            if (dataCondition)
            {
                dataCondition.hideFlags = HideFlags.None;
                DestroyImmediate(dataCondition);
                EditorGUIUtility.ExitGUI();
            }
        };
    }
Ejemplo n.º 2
0
    private void AddItem(object obj)
    {
        AssetInfo <ReorderableList> assetInfo = obj as AssetInfo <ReorderableList>;

        if (assetInfo == null)
        {
            return;
        }

        //string assetName = System.IO.Path.GetFileNameWithoutExtension(assetInfo.AssetPath);

        System.Type            AssetType    = System.Type.GetType(assetInfo.AssetPath + ", Assembly-CSharp");
        FSMTransitionCondition newCondition = (FSMTransitionCondition)Target.gameObject.AddComponent(AssetType);

        int index = assetInfo.ComplementaryData.serializedProperty.arraySize++;

        assetInfo.ComplementaryData.serializedProperty.GetArrayElementAtIndex(index).objectReferenceValue = newCondition;
        newCondition.hideFlags = HideFlags.HideInInspector;

        serializedObject.ApplyModifiedProperties();
    }