summaryrefslogtreecommitdiff
path: root/Assets/ActionTool/Editor/ActionEditor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/ActionTool/Editor/ActionEditor.cs')
-rw-r--r--Assets/ActionTool/Editor/ActionEditor.cs120
1 files changed, 120 insertions, 0 deletions
diff --git a/Assets/ActionTool/Editor/ActionEditor.cs b/Assets/ActionTool/Editor/ActionEditor.cs
new file mode 100644
index 00000000..90c8bfc9
--- /dev/null
+++ b/Assets/ActionTool/Editor/ActionEditor.cs
@@ -0,0 +1,120 @@
+using System.IO;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEngine;
+
+namespace ActionTool
+{
+
+ public class ActionEditor : EditorWindow
+ {
+ [MenuItem("Custom/ActionTool/Open")]
+ static void OpenTools()
+ {
+ ActionManager.AnimationWindow = GetWindow<ActionEditor>();
+ }
+
+ private string m_SearchText;
+
+ public void OnEnable()
+ {
+
+ }
+
+ public void OnDisable()
+ {
+ }
+
+ public void OnGUI()
+ {
+ GUILayout.Space(5);
+ GUI_SelectUnit();
+ GUILayout.Space(5);
+ GUI_AnimationList();
+ GUILayout.Space(5);
+ }
+
+ private void GUI_SelectUnit()
+ {
+ if(ActionManager.CurrentUnit == null)
+ {
+ EditorGUILayout.HelpBox("选择角色prefab", MessageType.Warning);
+ }
+
+ GUILayout.BeginHorizontal();
+
+ GameObject selectObj = EditorGUILayout.ObjectField(ActionManager.CurrentUnit, typeof(GameObject), false, GUILayout.Width(position.width - 160)) as GameObject;
+
+ if(selectObj != ActionManager.CurrentUnit)
+ {
+ ActionManager.OnSelectObj(selectObj);
+ }
+
+ if (GUILayout.Button("Select", GUILayout.Width(70)))
+ {
+
+ }
+
+ if (GUILayout.Button("Reimport", GUILayout.Width(70)))
+ {
+
+ }
+
+ GUILayout.EndHorizontal();
+ }
+
+ private Vector2 m_AnimtionListScroll;
+ private void GUI_AnimationList()
+ {
+ if (!ActionManager.HasSelectObj())
+ return;
+
+ string unitName = ActionManager.GetUnitName();
+
+ EditorGUILayout.LabelField("Animation List");
+
+ m_SearchText = GUILayout.TextField(m_SearchText, "SearchTextField", GUILayout.Width(position.width - 20)).ToLower();
+
+ string animFolder = ActionManager.s_AnimFolder + unitName + "/";
+
+ string[] animfiles = Directory.GetFiles(animFolder);
+
+ if (animfiles != null && animfiles.Length > 0)
+ {
+ GUIStyle style = GUI.skin.GetStyle("Button");
+ TextAnchor prevAnchor = style.alignment;
+ TextClipping prevClipping = style.clipping;
+ bool prevRichText = style.richText;
+ style.alignment = TextAnchor.MiddleCenter;
+ style.clipping = TextClipping.Overflow;
+ style.richText = true;
+
+ m_AnimtionListScroll = EditorGUILayout.BeginScrollView(m_AnimtionListScroll);
+
+ for (int i = 0; i < animfiles.Length; ++i)
+ {
+ string file = animfiles[i];
+ if (file.Contains(".meta"))
+ continue;
+ string animName = Path.GetFileNameWithoutExtension(file);
+ bool show = m_SearchText == string.Empty || m_SearchText == "" || animName.ToLower().Contains(m_SearchText);
+ if (!show)
+ continue;
+ bool bChecked = ActionManager.CurrentAnimationName == animName;
+ bool check = GUILayout.Toggle(bChecked, animName, style, GUILayout.Height(15));
+ if (check && ActionManager.CurrentAnimationName != animName)
+ ActionManager.OnSelectAnimation(animName);
+ }
+
+ EditorGUILayout.EndScrollView();
+
+ style.alignment = prevAnchor;
+ style.clipping = prevClipping;
+ style.richText = prevRichText;
+ }
+
+ }
+
+ }
+} \ No newline at end of file