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]; }
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; }