有两个脚本,一个是编辑器下使用的。用于在编辑器下显示不同的功能。另一个是真正的逻辑脚本。
/*--------------------------------------------------------------------
- Author Name:
- Creation Time: 7/3/2019 10:48:32 AM
- File Describe: Please input script describe
- ------------------------------------------------------------------*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(SetAction))]
public class SetInspector : Editor
{
SetAction m_SetActionTarget;
SerializedObject m_SetAction;
SerializedProperty IsLoop;
SerializedProperty IsMove;
SerializedProperty TargetPos;
SerializedProperty MoveTime;
SerializedProperty IsCurveMove;
SerializedProperty MoveCurveX;
SerializedProperty MoveCurveY;
SerializedProperty IsMovePose;
SerializedProperty CurveStrength;
SerializedProperty WaitMoveTime;
SerializedProperty IsScale;
SerializedProperty TargetScale;
SerializedProperty ScaleTime;
SerializedProperty IsCurveScale;
SerializedProperty ScaleCurveX;
SerializedProperty ScaleCurveY;
SerializedProperty ScaleCurveZ;
SerializedProperty IsScalePose;
SerializedProperty WaitScaleTime;
SerializedProperty IsRotation;
SerializedProperty TargetRotation;
SerializedProperty RotationTime;
SerializedProperty IsCurveRotation;
SerializedProperty RotationCurveX;
SerializedProperty RotationCurveY;
SerializedProperty RotationCurveZ;
SerializedProperty IsRotationPose;
SerializedProperty IsFadeout;
SerializedProperty TargetFadeout;
SerializedProperty FadeoutTime;
SerializedProperty IsCurveFadeout;
SerializedProperty CurveFadeout;
SerializedProperty IsFadeoutPose;
private void OnEnable()
{
m_SetActionTarget = (SetAction)target;
m_SetAction = new SerializedObject(target);
IsLoop = m_SetAction.FindProperty("IsLoop");
IsMove = m_SetAction.FindProperty("IsMove");
TargetPos = m_SetAction.FindProperty("TargetPos");
MoveTime = m_SetAction.FindProperty("MoveTime");
IsCurveMove = m_SetAction.FindProperty("IsCurveMove");
MoveCurveX = m_SetAction.FindProperty("MoveCurveX");
MoveCurveY = m_SetAction.FindProperty("MoveCurveY");
IsMovePose = m_SetAction.FindProperty("IsMovePose");
CurveStrength = m_SetAction.FindProperty("CurveStrength");
WaitMoveTime = m_SetAction.FindProperty("WaitMoveTime");
IsScale = m_SetAction.FindProperty("IsScale");
TargetScale = m_SetAction.FindProperty("TargetScale");
ScaleTime = m_SetAction.FindProperty("ScaleTime");
IsCurveScale = m_SetAction.FindProperty("IsCurbeScale");
ScaleCurveX = m_SetAction.FindProperty("ScaleCurveX");
ScaleCurveY = m_SetAction.FindProperty("ScaleCurveY");
ScaleCurveZ = m_SetAction.FindProperty("ScaleCurveZ");
IsScalePose = m_SetAction.FindProperty("IsScalePose");
WaitScaleTime = m_SetAction.FindProperty("WaitScaleTime");
IsRotation = m_SetAction.FindProperty("IsRotation");
TargetRotation = m_SetAction.FindProperty("TargetRotation");
RotationTime = m_SetAction.FindProperty("RotationTime");
IsCurveRotation = m_SetAction.FindProperty("IsCurveRotation");
RotationCurveX = m_SetAction.FindProperty("RotationCurveX");
RotationCurveY = m_SetAction.FindProperty("RotationCurveY");
RotationCurveZ = m_SetAction.FindProperty("RotationCurveZ");
IsRotationPose = m_SetAction.FindProperty("IsRotationPose");
IsFadeout = m_SetAction.FindProperty("IsFadeout");
TargetFadeout = m_SetAction.FindProperty("TargetFadeout");
FadeoutTime = m_SetAction.FindProperty("FadeoutTime");
IsCurveFadeout = m_SetAction.FindProperty("IsCurveFadeout");
CurveFadeout = m_SetAction.FindProperty("CurveFadeout");
IsFadeoutPose = m_SetAction.FindProperty("IsFadeoutPose");
}
pu