예제 #1
0
        void LoadFactionData()
        {
            string path = AssetDatabase.GetAssetPath(Resources.Load("Faction Data"));
            EmeraldAIFactionData FactionData = (EmeraldAIFactionData)AssetDatabase.LoadAssetAtPath(path, typeof(EmeraldAIFactionData));

            serializedObject = new SerializedObject(FactionData);

            foreach (string s in FactionData.FactionNameList)
            {
                if (!FactionData.FactionNameList.Contains(s) && s != "")
                {
                    FactionData.FactionNameList.Add(s);
                }
            }

            FactionList = new List <string>(FactionData.FactionNameList);

            FactionListProp = new ReorderableList(serializedObject, serializedObject.FindProperty("FactionNameList"), true, true, true, true);
            FactionListProp.drawHeaderCallback = rect =>
            {
                EditorGUI.LabelField(rect, "Faction List", EditorStyles.boldLabel);
            };
            FactionListProp.drawElementCallback =
                (Rect rect, int index, bool isActive, bool isFocused) =>
            {
                var element = FactionListProp.serializedProperty.GetArrayElementAtIndex(index);
                EditorGUI.PropertyField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, GUIContent.none);
            };
        }
예제 #2
0
        void RemoveFactionData(string FactionToRemove)
        {
            string path = AssetDatabase.GetAssetPath(Resources.Load("Faction Data"));
            EmeraldAIFactionData FactionData = (EmeraldAIFactionData)AssetDatabase.LoadAssetAtPath(path, typeof(EmeraldAIFactionData));

            FactionData.FactionNameList.Remove(FactionToRemove);
            FactionList = new List <string>(FactionData.FactionNameList);
            EmeraldAISystem.StringFactionList = FactionList;

            EditorUtility.SetDirty(FactionData);
            EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene());
        }
예제 #3
0
        void AddFactionData(string FactionToAdd)
        {
            string path = AssetDatabase.GetAssetPath(Resources.Load("Faction Data"));
            EmeraldAIFactionData FactionData = (EmeraldAIFactionData)AssetDatabase.LoadAssetAtPath(path, typeof(EmeraldAIFactionData));

            if (!FactionData.FactionNameList.Contains(FactionToAdd) && FactionToAdd != "")
            {
                FactionData.FactionNameList.Add(FactionToAdd);
            }

            FactionList = new List <string>(FactionData.FactionNameList);
            EmeraldAISystem.StringFactionList = FactionList;

            EditorUtility.SetDirty(FactionData);
            EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene());
        }