Example #1
0
 public static SkillUnit.SkillCameraAction ConvertCameraAction(SkillCameraAction unit)
 {
     SkillUnit.SkillCameraAction oUnit = new SkillUnit.SkillCameraAction();
     oUnit.action = (SkillUnit.SkillCameraAction.CameraAction)((int)unit.action);
     oUnit.delay  = unit.delay;
     oUnit.param  = unit.param;
     return(oUnit);
 }
        public SkillCameraAction Copy()
        {
            SkillCameraAction b = new SkillCameraAction();

            b.action        = action;
            b.param         = param;
            b.shakeRange    = shakeRange;
            b.shakeInterval = shakeInterval;
            b.delay         = delay;
            b.phaseTime     = phaseTime;
            return(b);
        }
        public void AddClipWithName(SkillCameraAction action)
        {
            var clipData = ScriptableObject.CreateInstance <JCameraClipData>();

            clipData.TargetObject     = TimeLine.AffectedObject.gameObject;
            clipData.Action           = action;
            clipData.StartTime        = action.delay;
            clipData.ActionName       = Enum.GetName(typeof(SkillCameraAction.CameraAction), action.action);
            clipData.PlaybackDuration = action.phaseTime;
            clipData.Track            = this;
            AddClip(clipData);
        }
        //绘制相机特效
        public static void DrawCameraAction(SkillCameraAction action)
        {
            EditorGUILayout.BeginVertical("Box");
            string inType = Enum.GetName(typeof(SkillCameraAction.CameraAction), action.action);

            DrawActionRect("类型", inType, out inType, new List <string>(Enum.GetNames(typeof(SkillCameraAction.CameraAction))));
            action.action = (SkillCameraAction.CameraAction)Enum.Parse(typeof(SkillCameraAction.CameraAction), inType);
            if (action.action == SkillCameraAction.CameraAction.CAMERAACTION_SHAKE)
            {
                action.shakeRange    = EditorGUILayout.FloatField("  shakeRange:", action.shakeRange);
                action.shakeInterval = EditorGUILayout.IntField("  shakeInterval:", action.shakeInterval);
            }

            action.param     = EditorGUILayout.FloatField("  param:", action.param);
            action.delay     = EditorGUILayout.FloatField("  delay:", action.delay);
            action.phaseTime = EditorGUILayout.FloatField("  phaseTime:", action.phaseTime);

            EditorGUILayout.EndVertical();
        }
 //绘制特效列表
 public static void DrawCameraActionList(List <SkillCameraAction> beginEffect, Vector2 beginScrollPos, out Vector2 oScrollPos, float width, ref ReorderableList beginEffectList)
 {
     EditorGUILayout.BeginVertical();
     //起手动作特效
     oScrollPos = EditorGUILayout.BeginScrollView(beginScrollPos);
     if (beginEffectList == null)
     {
         // 加入数据数组
         beginEffectList = new ReorderableList(beginEffect, typeof(SkillCameraAction), false, false, true, true);
     }
     beginEffectList.elementHeight = 280;
     if (beginEffect == null || beginEffect.Count == 0)
     {
         beginEffectList.elementHeight = 20;
     }
     // 绘制Item显示列表
     beginEffectList.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) =>
     {
         SkillCameraAction element = (SkillCameraAction)beginEffect[index];
         Rect drawRect             = new Rect(rect.x, rect.y + 20, width - 30, 280);
         GUILayout.BeginArea(drawRect);
         GUILayout.Label("index: " + index);
         EditorDrawUtility.DrawCameraAction(element);
         GUILayout.EndArea();
     };
     beginEffectList.onRemoveCallback = (ReorderableList l) =>
     {
         l.list.RemoveAt(l.index);
     };
     beginEffectList.onAddCallback = (ReorderableList l) =>
     {
         l.list.Add(new SkillCameraAction());
     };
     beginEffectList.DoLayoutList();
     EditorGUILayout.EndScrollView();
     EditorGUILayout.EndVertical();
 }
 public override void SetData(object[] data)
 {
     TargetCamera = (Camera)data[0];
     action       = (SkillCameraAction)data[1];
 }
Example #7
0
 public static void ConvertCameraAction(SkillUnit.SkillCameraAction oUnit, SkillCameraAction unit)
 {
     oUnit.action = (SkillUnit.SkillCameraAction.CameraAction)((int)unit.action);
     oUnit.delay  = unit.delay;
     oUnit.param  = unit.param;
 }