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(); }
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); } }