public override void OnInspectorGUI() { if (GUILayout.Button("Open Character Editor")) { CharacterEditorWindow.Init(); } }
public override void OnInspectorGUI() { GUILayout.Label("Stance File"); if (GUILayout.Button("Open Character Editor")) { CharacterEditorWindow.Init(); } }
public static void CreateAsset <T> () where T : ScriptableObject { T asset = ScriptableObject.CreateInstance <T> (); string path = AssetDatabase.GetAssetPath(Selection.activeObject); if (path == "") { path = "Assets"; } else if (Path.GetExtension(path) != "") { path = path.Replace(Path.GetFileName(AssetDatabase.GetAssetPath(Selection.activeObject)), ""); } string fileName; if (asset is MoveInfo) { fileName = "New Move"; } else if (asset is CharacterInfo) { fileName = "New Character"; } else if (asset is GlobalInfo) { fileName = "UFE_Config"; } else { fileName = typeof(T).ToString(); } string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(path + "/" + fileName + ".asset"); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; if (asset is MoveInfo) { //MoveEditorWindow.Init(); } else if (asset is GlobalInfo) { //GlobalEditorWindow.Init(); } else if (asset is CharacterInfo) { CharacterEditorWindow.Init(); } }
public static void CreateAsset <T> () where T : ScriptableObject { T asset = ScriptableObject.CreateInstance <T> (); string path = AssetDatabase.GetAssetPath(Selection.activeObject); if (path == "") { path = "Assets"; } else if (Path.GetExtension(path) != "") { path = path.Replace(Path.GetFileName(AssetDatabase.GetAssetPath(Selection.activeObject)), ""); } string fileName; if (asset is MoveInfo) { fileName = "New Move"; } else if (asset is CharacterInfo) { fileName = "New Character"; } else if (asset.GetType().ToString().Equals("AIInfo")) { fileName = "New AI Instructions"; } else if (asset is GlobalInfo) { fileName = "UFE_Config"; } else { fileName = typeof(T).ToString(); } string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(path + "/" + fileName + ".asset"); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; if (asset is MoveInfo) { MoveEditorWindow.Init(); } else if (asset is GlobalInfo) { GlobalEditorWindow.Init(); } else if (asset.GetType().ToString().Equals("AIInfo")) { UFE.SearchClass("AIEditorWindow").GetMethod( "Init", BindingFlags.Static | BindingFlags.Public | BindingFlags.FlattenHierarchy, null, null, null ).Invoke(null, new object[] {}); } else if (asset is CharacterInfo) { CharacterEditorWindow.Init(); } }
public static void CreateAsset <T> (T data = null, T oldFile = null) where T : ScriptableObject { T asset = ScriptableObject.CreateInstance <T> (); Object referencePath = Selection.activeObject; if (data != null) { asset = data; if (oldFile != null) { referencePath = oldFile; } } string path = AssetDatabase.GetAssetPath(referencePath); if (path == "") { path = "Assets"; } else if (Path.GetExtension(path) != "") { path = path.Replace(Path.GetFileName(AssetDatabase.GetAssetPath(referencePath)), ""); } string fileName; if (oldFile != null) { fileName = oldFile.name; } else if (asset is MoveInfo) { fileName = "New Move"; } else if (asset is UFE3D.CharacterInfo) { fileName = "New Character"; } else if (asset.GetType().ToString().Equals("UFE3D.AIInfo")) { fileName = "New AI Instructions"; } else if (asset is GlobalInfo) { fileName = "New UFE Config"; } else if (asset is StanceInfo) { fileName = "New Combat Stance"; } else { fileName = typeof(T).ToString(); } string assetPathAndName = oldFile != null? path + fileName + ".asset" : AssetDatabase.GenerateUniqueAssetPath(path + "/" + fileName + ".asset"); if (!AssetDatabase.Contains(asset)) { AssetDatabase.CreateAsset(asset, assetPathAndName); } AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; if (asset is MoveInfo) { MoveEditorWindow.Init(); } else if (asset is GlobalInfo) { GlobalEditorWindow.Init(); } else if (asset.GetType().ToString().Equals("UFE3D.AIInfo")) { UFE.SearchClass("AIEditorWindow").GetMethod( "Init", BindingFlags.Static | BindingFlags.Public | BindingFlags.FlattenHierarchy, null, null, null ).Invoke(null, new object[] {}); } else if (asset is UFE3D.CharacterInfo) { CharacterEditorWindow.Init(); } }