From f5a6620ca6ea46174884987609b92bbd8522fa89 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 30 Jul 2021 17:04:19 +0800 Subject: *misc --- .../Unit/RootMotion/Editor/RootMotionEditor.cs | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs') diff --git a/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs b/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs index 734e0ce0..61c60306 100644 --- a/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs +++ b/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs @@ -7,9 +7,16 @@ using UnityEditor; public class RootMotionEditor : EditorWindow { - static string s_AnimFolder = "Assets/Art/Animations/"; + static string unitFolder; + static string unitAnimationDataFolder { get { return unitFolder + "AnimationData/"; } } + static string unitRootMotionFolder { get { return unitFolder + "RootMotion/"; } } + static string unitAnimationClipFolder { get { return unitFolder + "AnimationClip/"; } } + static string unitDataFolder { get { return unitFolder + "UnitData/"; } } + + +// static string s_AnimFolder = "Assets/Art/Animations/"; static string s_Controller = "Assets/Scripts/Unit/RootMotion/controller_rootmotion.controller"; - static string s_RootMotionDataFolder = "Assets/Data/RootMotionData/"; + // static string s_RootMotionDataFolder = "Assets/Data/RootMotionData/"; GameObject m_Prefab; string m_PrefabName { get { return m_Prefab.name; } } @@ -71,6 +78,11 @@ public class RootMotionEditor : EditorWindow m_Prefab = prefab; if(m_Prefab != null) { + string path = AssetDatabase.GetAssetPath(prefab); + string folder = Path.GetDirectoryName(path).Replace('\\', '/'); + folder = folder.Substring(0, folder.LastIndexOf('/')); + unitFolder = folder + "/"; + m_Unit = PrefabUtility.InstantiatePrefab(m_Prefab) as GameObject; InitializeUnit(m_Unit); m_SelectAnimations.Clear(); @@ -102,7 +114,7 @@ public class RootMotionEditor : EditorWindow void CollectAnimations(string prefabName) { m_AnimList.Clear(); - string animFolder = s_AnimFolder + m_Prefab.name + "/"; + string animFolder = unitAnimationClipFolder; string[] animfiles = Directory.GetFiles(animFolder/*, "*.anim"*/); if (animfiles != null && animfiles.Length > 0) { @@ -194,13 +206,13 @@ public class RootMotionEditor : EditorWindow ExportRootMotion(animation); } - EditorUtility.DisplayDialog("Export RootMotion", "目录 " + s_RootMotionDataFolder + m_Prefab.name, "OK"); + EditorUtility.DisplayDialog("Export RootMotion", "目录 " + unitRootMotionFolder + m_Prefab.name, "OK"); } void ExportRootMotion(string animation) { - string animPath = s_AnimFolder + m_PrefabName + "/" + animation + ".anim"; - string assetPath = s_RootMotionDataFolder + m_PrefabName + "/" + animation + ".asset"; + string animPath = unitAnimationClipFolder + animation + ".anim"; + string assetPath = unitRootMotionFolder + animation + ".asset"; AnimationClip clip = AssetDatabase.LoadAssetAtPath(animPath); if(clip == null) { -- cgit v1.1-26-g67d0