diff options
Diffstat (limited to 'Assets/ActionTool/Editor/ActionManager.cs')
-rw-r--r-- | Assets/ActionTool/Editor/ActionManager.cs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/Assets/ActionTool/Editor/ActionManager.cs b/Assets/ActionTool/Editor/ActionManager.cs index 7becca02..feefde88 100644 --- a/Assets/ActionTool/Editor/ActionManager.cs +++ b/Assets/ActionTool/Editor/ActionManager.cs @@ -89,10 +89,11 @@ namespace ActionTool public static AnimationEventBase animationEvent { get { return m_CurAnimationEvent; } }
private static ColliderData s_CurColliderData;
- public static ColliderData colliderData { get { return s_CurColliderData; } }
+ public static ColliderData colliderData { get { return s_CurColliderData; } set { s_CurColliderData = value; } }
public static ColliderData.ColliderFrame s_CurEditColliderFrame;
public static ColliderData.ColliderFrame editColliderFrame { get { return s_CurEditColliderFrame; } }
+ public static ColliderData s_CurEditFrameCollider;
private static ActionToolGizmos s_Gizmos;
public static ActionToolGizmos gizmos { get { return s_Gizmos; } }
@@ -119,6 +120,8 @@ namespace ActionTool public static string unitAnimationClipFolder { get { return unitFolder + "AnimationClip/"; } }
public static string unitDataFolder { get { return unitFolder + "UnitData/"; } }
+ public static int colliderIndex;
+
public static void OnSelectObj(GameObject obj)
{
Release();
@@ -168,7 +171,7 @@ namespace ActionTool animationData = null;
OnSelectAnimationEvent(null);
- OnSelectColliderFrame(null);
+ OnSelectColliderFrame(null, null);
OnSelectBox(null);
if (EventEditWindow) EventEditWindow.Close();
if (ColliderFrameWindow) ColliderFrameWindow.Close();
@@ -357,14 +360,17 @@ namespace ActionTool {
if (s_CurColliderData == null)
return;
- ColliderWindow = EditorWindow.GetWindow<ActionColliderEditor>(true);
+ if(ColliderWindow == null)
+ ColliderWindow = EditorWindow.GetWindow<ActionColliderEditor>(true);
}
- public static void OnSelectBox(ColliderData collider)
+ public static void OnSelectBox(ColliderData collider, int index = 0)
{
s_CurColliderData = collider;
if (ColliderWindow != null)
ColliderWindow.Repaint();
+ colliderIndex = index;
+ EditCollider();
}
public static void AddNewBoxFrame(object param)
@@ -375,7 +381,7 @@ namespace ActionTool if(data != null)
{
var frameData = data.AddFrame(frameIndex);
- OnSelectColliderFrame(frameData);
+ OnSelectColliderFrame(frameData, data);
}
}
@@ -392,19 +398,21 @@ namespace ActionTool public static void DeleteCurFrame()
{
- if (s_CurColliderData == null)
+ if (s_CurEditFrameCollider == null)
return;
if (s_CurEditColliderFrame == null)
return;
- s_CurColliderData.DeleteFrame(s_CurEditColliderFrame.frame);
+ s_CurEditFrameCollider.DeleteFrame(s_CurEditColliderFrame.frame);
+
s_CurEditColliderFrame = null;
}
- public static void OnSelectColliderFrame(ColliderData.ColliderFrame frame)
+ public static void OnSelectColliderFrame(ColliderData.ColliderFrame frame, ColliderData collider = null)
{
s_CurEditColliderFrame = frame;
+ s_CurEditFrameCollider = collider;
- if (frame != null)
+ if (frame != null)
{
ColliderFrameWindow = EditorWindow.GetWindow<ActionColliderFrameEditor>(true);
|