Exemplo n.º 1
0
    static void CreateOOFormMenuManager()
    {
        string str = GetSelectionFolder();

        int i = 0;

        while (File.Exists(str + "OOFormMenuManager_" + i.ToString() + ".asset"))
        {
            i++;
        }

        string file_name = str + "OOFormMenuManager_" + i.ToString() + ".asset";

        OOFormMenuManager manager = ScriptableObject.CreateInstance <OOFormMenuManager>();

        AssetDatabase.CreateAsset(manager, file_name);
        AssetDatabase.Refresh();
    }
Exemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        if (mMenuTarget == null)
        {
            mMenuTarget = (OOFormMenuManager)target;
        }


        if (GUILayout.Button("Apply Menu"))
        {
            ApplyMenu();
        }

        GUILayout.Space(10);

        GUILayout.Label("OOForm Managers:");
        for (int i = 0; i < mMenuTarget.mTableManagerList.Count; i++)
        {
            if (mMenuTarget.mTableManagerList[i] == null)
            {
                mMenuTarget.mTableManagerList.RemoveAt(i);
                mMenuTarget.mTableMenuItemList.RemoveAt(i);
                break;
            }

            if (mMenuTarget.mTableManagerList.Count > mMenuTarget.mTableMenuItemList.Count)
            {
                int need = mMenuTarget.mTableMenuItemList.Count - mMenuTarget.mTableManagerList.Count;
                for (int j = 0; j < need; i++)
                {
                    mMenuTarget.mTableMenuItemList.Add("");
                }
            }

            GUILayout.BeginHorizontal();
            mMenuTarget.mTableManagerList[i] = (OOFormManager)EditorGUILayout.ObjectField(mMenuTarget.mTableManagerList[i], typeof(OOFormManager), false);

            tmp_string = mMenuTarget.mTableMenuItemList[i];
            mMenuTarget.mTableMenuItemList[i] = EditorGUILayout.TextField(mMenuTarget.mTableMenuItemList[i]);
            if (tmp_string != mMenuTarget.mTableMenuItemList[i])
            {
                SaveConfig();
            }
            if (GUILayout.Button("X", GUILayout.Width(20)))
            {
                mMenuTarget.mTableManagerList.RemoveAt(i);
                mMenuTarget.mTableMenuItemList.RemoveAt(i);
                SaveConfig();
            }
            GUILayout.EndHorizontal();
        }

        GUILayout.Space(30);
        GUILayout.Label("Tables:");
        for (int i = 0; i < mMenuTarget.mTableList.Count; i++)
        {
            if (mMenuTarget.mTableList[i] == null)
            {
                mMenuTarget.mTableList.RemoveAt(i);
                mMenuTarget.mTableMenuList.RemoveAt(i);
                break;
            }

            if (mMenuTarget.mTableList.Count > mMenuTarget.mTableMenuList.Count)
            {
                int need = mMenuTarget.mTableMenuList.Count - mMenuTarget.mTableList.Count;
                for (int j = 0; j < need; i++)
                {
                    mMenuTarget.mTableMenuList.Add("");
                }
            }

            GUILayout.BeginHorizontal();
            mMenuTarget.mTableList[i] = (TextAsset)EditorGUILayout.ObjectField(mMenuTarget.mTableList[i], typeof(TextAsset), false);

            tmp_string = mMenuTarget.mTableMenuList[i];
            mMenuTarget.mTableMenuList[i] = EditorGUILayout.TextField(mMenuTarget.mTableMenuList[i]);
            if (tmp_string != mMenuTarget.mTableMenuList[i])
            {
                SaveConfig();
            }
            if (GUILayout.Button("X", GUILayout.Width(20)))
            {
                mMenuTarget.mTableList.RemoveAt(i);
                mMenuTarget.mTableMenuList.RemoveAt(i);
                SaveConfig();
            }
            GUILayout.EndHorizontal();
        }



        if (Event.current.type == EventType.DragExited)
        {
            AddObjects(DragAndDrop.objectReferences);
        }
    }