public static void Setup() { IAbilityDataProvider database; if (LSDatabaseManager.TryGetDatabase <IAbilityDataProvider>(out database)) { AbilityDataItem[] interfacers = database.AbilityData; for (int i = 0; i < interfacers.Length; i++) { AbilityDataItem interfacer = interfacers [i]; if (interfacer.Script.Type == null) { //exception or ignore? continue; } CodeInterfacerMap.Add(interfacer.Name, interfacer); TypeInterfacerMap.Add(interfacer.Script.Type, interfacer); } } }
public static void Setup() { IAbilityDataProvider database; if (LSDatabaseManager.TryGetDatabase <IAbilityDataProvider>(out database)) { AbilityDataItem[] interfacers = database.AbilityData; for (int i = 0; i < interfacers.Length; i++) { AbilityDataItem interfacer = interfacers [i]; if (interfacer.Script.Type == null) { //exception or ignore? continue; } interfacer.LocalInitialize(); CodeInterfacerMap.Add(interfacer.Name, interfacer); TypeInterfacerMap.Add(interfacer.Script.Type, interfacer); //Debug.Log (interfacer.ListenInputCode + ", " + InputCodeManager.GetCodeID (interfacer.ListenInputCode) + ", " + InputCodeManager.GetCodeID ("Stop")); //Debug.Log (interfacer.Name + ", " + interfacer.ListenInputCode + ", " + interfacer.ListenInputID); } } }
void DrawSettings() { settingsFoldout = EditorGUILayout.Foldout(settingsFoldout, "Data Settings"); if (settingsFoldout) { GUILayout.BeginHorizontal(); /* * const int maxDirLength = 28; * if (GUILayout.Button (DatabasePath.Length > maxDirLength ? "..." + DatabasePath.Substring (DatabasePath.Length - maxDirLength) : DatabasePath, GUILayout.ExpandWidth (true))) { * }*/ SerializedObject obj = new SerializedObject(this); SerializedProperty databaseTypeProp = obj.FindProperty("_databaseType"); EditorGUILayout.PropertyField(databaseTypeProp, new GUIContent("Database Type")); float settingsButtonWidth = 70f; if (GUILayout.Button("Load", GUILayout.MaxWidth(settingsButtonWidth))) { DatabasePath = EditorUtility.OpenFilePanel("Database File", Application.dataPath, "asset"); if (!string.IsNullOrEmpty(DatabasePath)) { LSFSettingsModifier.Save(); if (LoadDatabaseFromPath(DatabasePath) == false) { Debug.LogFormat("Database was not found at path of '{0}'.", DatabasePath); } } } if (GUILayout.Button("Create", GUILayout.MaxWidth(settingsButtonWidth))) { DatabasePath = EditorUtility.SaveFilePanel("Database File", Application.dataPath, "NewDatabase", "asset"); if (!string.IsNullOrEmpty(DatabasePath)) { if (CreateDatabase(DatabasePath)) { Debug.Log("Database creation succesful!"); } else { Debug.Log("Database creation unsuccesful"); } } } GUILayout.EndHorizontal(); //json stuff GUILayout.BeginHorizontal(); jsonFile = (TextAsset)EditorGUILayout.ObjectField("Json", jsonFile, typeof(TextAsset), false); if (GUILayout.Button("Load", GUILayout.MaxWidth(settingsButtonWidth))) { LSDatabaseManager.ApplyJson(jsonFile.text, Database); } if (GUILayout.Button("Save", GUILayout.MaxWidth(settingsButtonWidth))) { System.IO.File.WriteAllText( AssetDatabase.GetAssetPath(jsonFile), LSDatabaseManager.ToJson(Database) ); } GUILayout.EndHorizontal(); if (CanSave) { obj.ApplyModifiedProperties(); } } }