diff options
author | chai <chaifix@163.com> | 2021-08-03 19:33:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-08-03 19:33:43 +0800 |
commit | 494d3f727786ff70753692d8de019d9600a007e1 (patch) | |
tree | 1b328a0d2d8943157903065ca3441b9f6485e3f9 /Assets/Scripts/Unit/TimelineEvent.cs | |
parent | 31666a451a74183b74557208812a9b47053c3f08 (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/Unit/TimelineEvent.cs')
-rw-r--r-- | Assets/Scripts/Unit/TimelineEvent.cs | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/Assets/Scripts/Unit/TimelineEvent.cs b/Assets/Scripts/Unit/TimelineEvent.cs deleted file mode 100644 index 6a69934b..00000000 --- a/Assets/Scripts/Unit/TimelineEvent.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System;
-using System.Collections;
-using System.Reflection;
-using System.Collections.Generic;
-using UnityEngine;
-#if UNITY_EDITOR
-using UnityEditor;
-#endif
-
-// 动画帧事件
-[DisallowMultipleComponent]
-public partial class TimelineEvent: MonoBehaviour
-{
- public enum EEventType
- {
- EventCamera_Zoom, // 相机聚焦
- EventCamera_Shake, // 相机晃动
- EventCamera_Blur, // 相机模糊
- EventCamera_WhiteOut, // 相机白屏
-
- EventMesh_AfterImage, // 角色残像
- EventMesh_Fade, // 角色透明度
- EventMesh_Gloss, // 角色泛光
-
- EventEnv_Dark,
- EventEnv_Exposure,
-
- EventUI_Drift, //
- EventUI_Blur, //
-
- EventProjectile, // 发射体
- EventEffect, // 特效
- EventSound, // 音效
-
- EventBulletTime, // 子弹时间
- }
-
- public const int kMaxEventsPerFrame = 10;
-
- private int m_PrevFrame = -1;
-
- public static Type GetTypeByName(string name)
- {
- Type type = Type.GetType(name);
- return type;
- }
-
- public void ExecuteAnimationEvents(AnimationData animData, float animFrame)
- {
- if (animData == null)
- return;
- int frame = (int)animFrame;
- if(frame != m_PrevFrame)
- {
- for(int i = m_PrevFrame + 1; i <= frame; i++)
- {
- List<int> framesHasEvent = animData.GetAnimationEventFrameIndices();
- if (framesHasEvent.Contains(i))
- {
- List<AnimationEventBase> events = animData.GetAnimationEventsAtFrame(i);
- ExecuteEvents(events);
- ListPool<AnimationEventBase>.Release(events);
- }
- ListPool<int>.Release(framesHasEvent);
- }
- }
- m_PrevFrame = frame;
- }
-
- void ExecuteEvents(List<AnimationEventBase> events)
- {
- if (events == null || events.Count == 0)
- return;
- foreach(var e in events)
- {
- string name = e.type.ToString();
- MethodInfo method = GetType().GetMethod(name, BindingFlags.Instance | BindingFlags.NonPublic, null, new Type[] { typeof(AnimationEventBase) }, null);
- if(method != null)
- {
- object[] param = new object[] {e };
- method.Invoke(this, param);
- }
- }
- }
-
- #region Event handle
-
- void EventEffect(AnimationEventBase animEvent)
- {
- EventEffect effect = animEvent as EventEffect;
- if (effect == null)
- return;
- string path = effect.effectPath;
-#if UNITY_EDITOR
- GameObject prefab = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
- if(prefab != null)
- {
- GameObject root = new GameObject();
-
- GameObject go = GameObject.Instantiate(prefab);
- go.transform.SetParent(root.transform);
- FxClear onClear = root.AddComponent<FxClear>();
- onClear.RunInEditor = true;
- onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, transform, effect.position, effect.rotation, effect.scale, 0, false));
- }
-#endif
- }
-
- void EventCamera_Shake(AnimationEventBase animEvent)
- {
-
- }
-
- #endregion
-}
\ No newline at end of file |