void drawEventAction(AnimAction.Action action)
 {
     action.mTarget = EditorGUILayout.ObjectField("目标", action.mTarget, typeof(Transform), true) as Transform;
     action.mFrom.x = EditorGUILayout.FloatField("消息ID", action.mFrom.x);
     action.mFrom.y = EditorGUILayout.FloatField("重复次数", action.mFrom.y);
     action.mFrom.z = EditorGUILayout.FloatField("重复间隔", action.mFrom.z);
     action.mStart  = EditorGUILayout.FloatField("开始时间", action.mStart);
 }
 void drawAlphaAction(AnimAction.Action action)
 {
     action.mTarget = EditorGUILayout.ObjectField("目标", action.mTarget, typeof(Transform), true) as Transform;
     action.mFrom.x = EditorGUILayout.FloatField("From(0~1)", action.mFrom.x);
     action.mTo.x   = EditorGUILayout.FloatField("To(0~1)", action.mTo.x);
     EditorGUILayout.BeginHorizontal();
     action.mStart    = EditorGUILayout.FloatField("开始时间", action.mStart);
     action.mDuration = EditorGUILayout.FloatField("持续时间", action.mDuration);
     EditorGUILayout.EndHorizontal();
     action.mCurve = EditorGUILayout.CurveField("动画曲线", action.mCurve);
 }
 void drawScaleAction(AnimAction.Action action)
 {
     action.mTarget = EditorGUILayout.ObjectField("目标", action.mTarget, typeof(Transform), true) as Transform;
     action.mFrom   = EditorGUILayout.Vector3Field("From", action.mFrom);
     action.mTo     = EditorGUILayout.Vector3Field("To", action.mTo);
     EditorGUILayout.BeginHorizontal();
     action.mStart    = EditorGUILayout.FloatField("开始时间", action.mStart);
     action.mDuration = EditorGUILayout.FloatField("持续时间", action.mDuration);
     EditorGUILayout.EndHorizontal();
     action.mCurve = EditorGUILayout.CurveField("动画曲线", action.mCurve);
 }
        void drawActionInspector(int idx)
        {
            AnimAction.Action action = mAnimAction.actions[idx];
            if (AraleEditorTool.DrawHeader("" + idx + ":" + action.mType, "ACTION" + idx))
            {
                AraleEditorTool.BeginContents();
                action.mType   = (AnimAction.ActionType)EditorGUILayout.EnumPopup("类型", action.mType);
                action.mMask   = (AnimAction.ActionMask)EditorGUILayout.EnumMaskField("过滤器", action.mMask);
                action.mEnable = EditorGUILayout.Toggle("是否可用", action.mEnable);
                switch (action.mType)
                {
                case AnimAction.ActionType.Event:
                    drawEventAction(action);
                    break;

                case AnimAction.ActionType.Move:
                    drawMoveAction(action);
                    break;

                case AnimAction.ActionType.Scale:
                    drawScaleAction(action);
                    break;

                case AnimAction.ActionType.Rotate:
                    drawRotateAction(action);
                    break;

                case AnimAction.ActionType.Alpha:
                    drawAlphaAction(action);
                    break;

                default:
                    break;
                }
                if (GUILayout.Button("删除", GUILayout.Width(80)))
                {
                    onDelClick(idx);
                }
                AraleEditorTool.EndContents();
            }
        }
 void drawMoveAction(AnimAction.Action action)
 {
     action.mTarget = EditorGUILayout.ObjectField("目标", action.mTarget, typeof(Transform), true) as Transform;
     EditorGUILayout.BeginHorizontal();
     action.mFrom = EditorGUILayout.Vector3Field("From", action.mFrom);
     if (GUILayout.Button("snap", GUILayout.Width(60)))
     {
         action.mFrom = action.mLocal?action.mTarget.transform.localPosition:action.mTarget.transform.position;
     }
     EditorGUILayout.EndHorizontal();
     EditorGUILayout.BeginHorizontal();
     action.mTo = EditorGUILayout.Vector3Field("To", action.mTo);
     if (GUILayout.Button("snap", GUILayout.Width(60)))
     {
         action.mTo = action.mLocal?action.mTarget.transform.localPosition:action.mTarget.transform.position;
     }
     EditorGUILayout.EndHorizontal();
     action.mLocal = EditorGUILayout.Toggle("本地坐标", action.mLocal);
     EditorGUILayout.BeginHorizontal();
     action.mStart    = EditorGUILayout.FloatField("开始时间", action.mStart);
     action.mDuration = EditorGUILayout.FloatField("持续时间", action.mDuration);
     EditorGUILayout.EndHorizontal();
     action.mCurve = EditorGUILayout.CurveField("动画曲线", action.mCurve);
 }
 void drawRotateAction(AnimAction.Action action)
 {
 }