summaryrefslogtreecommitdiff
path: root/Assets/ActionTool/Editor/ActionEditor.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-08-09 08:47:48 +0800
committerchai <chaifix@163.com>2021-08-09 08:47:48 +0800
commit7669c3afcbd71f06233bce12bb521c582c07ee5b (patch)
tree92a15b1c214385a53362a7e704fef8e67c7102ad /Assets/ActionTool/Editor/ActionEditor.cs
parent754ceacd8ab62e7094f1827ae45ea16a502725ad (diff)
*misc
Diffstat (limited to 'Assets/ActionTool/Editor/ActionEditor.cs')
-rw-r--r--Assets/ActionTool/Editor/ActionEditor.cs81
1 files changed, 55 insertions, 26 deletions
diff --git a/Assets/ActionTool/Editor/ActionEditor.cs b/Assets/ActionTool/Editor/ActionEditor.cs
index 072d40cc..d94806ad 100644
--- a/Assets/ActionTool/Editor/ActionEditor.cs
+++ b/Assets/ActionTool/Editor/ActionEditor.cs
@@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
+using UnityEditor.SceneManagement;
namespace ActionTool
{
@@ -18,15 +19,16 @@ namespace ActionTool
string m_SearchText = "";
ActionEditorStyles styles;
ActionEditorUI ui;
+ int currentPickerWindow;
- public void OnEnable()
+ public void OnEnable()
{
titleContent = new GUIContent("Action Editor");
- }
+ }
public void OnDisable()
{
- }
+ }
public void OnGUI()
{
@@ -44,34 +46,61 @@ namespace ActionTool
private void GUI_SelectUnit()
{
- if(ActionManager.CurrentUnit == null)
- {
- EditorGUILayout.HelpBox("选择角色prefab", MessageType.Warning);
- }
- GUILayout.BeginHorizontal();
+ GUILayout.BeginHorizontal();
- GameObject selectObj = EditorGUILayout.ObjectField(ActionManager.CurrentUnit, typeof(GameObject), false, GUILayout.Width(position.width - 160)) as GameObject;
+ GameObject selectObj = EditorGUILayout.ObjectField(ActionManager.CurrentUnit, typeof(GameObject), false, GUILayout.Width(position.width - 160)) as GameObject;
- if(selectObj != ActionManager.CurrentUnit)
- {
- ActionManager.OnSelectObj(selectObj);
- }
+ if (selectObj != null && selectObj != ActionManager.CurrentUnit)
+ {
+ ActionManager.OnSelectObj(selectObj);
+ if (ActionManager.AnimationWindow != null)
+ {
+ ActionManager.AnimationWindow.Repaint();
+ }
+ }
- if (GUILayout.Button("Select", GUILayout.Width(70)))
+ if (GUILayout.Button("Select", GUILayout.Width(70)))
{
-
- }
-
- if (GUILayout.Button("Reimport", GUILayout.Width(70)))
- {
-
- }
-
- GUILayout.EndHorizontal();
- }
-
- private Vector2 m_AnimtionListScroll;
+ currentPickerWindow = EditorGUIUtility.GetControlID(FocusType.Passive) + 100;
+ EditorGUIUtility.ShowObjectPicker<GameObject>(ActionManager.CurrentUnit, false, "l:UnitPrefab", currentPickerWindow);
+ }
+
+ string commandName = Event.current.commandName;
+ if(/*commandName.Equals("ObjectSelectorUpdated") || */commandName.Equals("ObjectSelectorClosed"))
+ {
+ GameObject go = EditorGUIUtility.GetObjectPickerObject() as GameObject;
+ if (/*go != null && */ActionManager.CurrentUnit != go)
+ {
+ ActionManager.OnSelectObj(go);
+ this.Repaint();
+ }
+ }
+
+ if (GUILayout.Button("Reimport", GUILayout.Width(70)))
+ {
+ ActionManager.OnSelectObj(ActionManager.CurrentUnit);
+ }
+
+ GUILayout.EndHorizontal();
+
+ var scene = EditorSceneManager.GetActiveScene();
+ if (scene == null || scene.path != ActionManager.scenePath)
+ {
+ if(GUILayout.Button("打开ActionToolScene"))
+ {
+ EditorSceneManager.OpenScene(ActionManager.scenePath);
+ }
+ }
+
+ if (ActionManager.CurrentUnit == null)
+ {
+ EditorGUILayout.HelpBox("选择角色prefab", MessageType.Warning);
+ }
+
+ }
+
+ private Vector2 m_AnimtionListScroll;
private void GUI_AnimationList()
{
if (!ActionManager.HasSelectObj())