From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- Assets/Scripts/Unit/TimelineEventProxy.cs | 175 ------------------------------ 1 file changed, 175 deletions(-) delete mode 100644 Assets/Scripts/Unit/TimelineEventProxy.cs (limited to 'Assets/Scripts/Unit/TimelineEventProxy.cs') diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs deleted file mode 100644 index 437b5b2d..00000000 --- a/Assets/Scripts/Unit/TimelineEventProxy.cs +++ /dev/null @@ -1,175 +0,0 @@ -using System; -using System.Collections; -using System.Reflection; -using System.Collections.Generic; -using UnityEngine; - -// 执行帧事件 -[DisallowMultipleComponent] -public partial class TimelineEventProxy -{ - -#if UNITY_EDITOR // ActionTool里 - private static GameObject m_Root_Particles; - public static GameObject Root_Particles - { - get - { - if (m_Root_Particles == null) - { - m_Root_Particles = GameObject.Find("Root_Particles"); - if(m_Root_Particles == null) - m_Root_Particles = new GameObject("Root_Particles"); - } - return m_Root_Particles; - } - } - private static GameObject m_Root_Projectiles; - public static GameObject Root_Projectiles - { - get - { - m_Root_Projectiles = GameObject.Find("Root_Projectiles"); - if (m_Root_Projectiles == null) - m_Root_Projectiles = new GameObject("Root_Projectiles"); - return m_Root_Projectiles; - } - } - - public bool isInEditMode; - - public delegate void RegisterProjectileHandle(Projectile projectile); - public RegisterProjectileHandle registerProjectile; - - public delegate void RegisterParticleSystemHandle(FxClear vfx); - public RegisterParticleSystemHandle registerParticleSystem; -#endif - - // 不要序列化枚举值,因为可能会随时更改 - public enum EEventType - { - EventGame_TimeScale, // 缩放时间 - - EventMesh_ImageEffect_MotionBlur, // 运动模糊 - EventMesh_ImageEffect_Glitch, // glitch - - EventMesh_LensEffect_Bloom, // bloom - EventMesh_LensEffect_MotionBlur, // motionBlur - EventMesh_LensEffect_Dash, // dash - - EventMesh_PostEffect_Curly, // - - EventMesh_AfterImage, // 角色残像 - EventMesh_AfterImageStop, // 角色残像停止事件 - EventMesh_FadeIn, // 角色透明度 - EventMesh_FadeOut, // 角色透明度 - EventMesh_Gloss, // 角色泛光 - EventMesh_VisibilityInMainCamera, // 是否在主相机渲染 - - EventUnit_SetPosition, // 设置位置 - EventUnit_BulletTime, // 子弹时间 - - EventCamera_Zoom, // 相机聚焦 - EventCamera_Shake, // 相机晃动 - EventCamera_Blur, // 相机模糊 - EventCamera_WhiteOut, // 相机白屏 - - EventEnv_Dark, - EventEnv_Exposure, - - EventUI_Drift, // - EventUI_Blur, // - - EventProjectile, // 发射体 - EventEffect, // 特效 - EventSound, // 音效 - } - - public const int FPS = 30; // timeline 每秒采样30次 - - private int m_PrevFrame = -1; - - private Transform m_Root; - - private Transform m_UnitModel; // 模型的Unit prefab,默认是m_Root的第一个子节点 - - public UnitController owner { get; private set; } - - private UnitAnimation m_UnitAnimation { get { return owner.unitAnimation; } } - - private AnimationData m_PrevAnimationData; - - public TimelineEventProxy( UnitController owner) - { - this.owner = owner; - m_Root = owner.transform; - m_PrevAnimationData = null; - m_UnitModel = m_Root.GetChild(0); - } - - public TimelineEventProxy(Transform root) - { - m_Root = root; - m_PrevAnimationData = null; - m_UnitModel = m_Root.GetChild(0); - } - - public static Type GetTypeByName(string name) - { - Type type = Type.GetType(name); - return type; - } - - public void ResetPrevAnimationData() - { - m_PrevAnimationData = null; - } - - public void ExecuteAnimationEvents(AnimationData animData, float animFrame) - { - if (animData == null) - return; - - int frame = (int)animFrame; - if (m_PrevAnimationData != animData) - { - m_PrevFrame = frame; - m_PrevAnimationData = animData; - } - if (frame != m_PrevFrame) - { - for (int i = m_PrevFrame + 1; i <= frame; i++) - { - List framesHasEvent = animData.GetAnimationEventFrameIndices(); - if (framesHasEvent.Contains(i)) - { - List events = animData.GetAnimationEventsAtFrame(i); - ExecuteEvents(events); - ListPool.Release(events); - } - ListPool.Release(framesHasEvent); - } - } - m_PrevFrame = frame; - } - - void ExecuteEvents(List 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); - - if(owner != null) - owner.onTimelineEvent(e); - } - } - } - -} \ No newline at end of file -- cgit v1.1-26-g67d0