From 802ffb019f62133fd25376c5b8a8ca0811569d41 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 17 Aug 2021 09:30:20 +0800 Subject: *misc --- Assets/Scripts/Unit/AnimationData.cs | 7 ++++++- Assets/Scripts/Unit/Collider/ColliderBox.cs | 13 +++++++++--- Assets/Scripts/Unit/Component/UnitAnimation.cs | 2 +- Assets/Scripts/Unit/Controller/UnitController.cs | 9 ++++++++ Assets/Scripts/Unit/Events/EventEffect.cs | 4 +--- Assets/Scripts/Unit/Events/EventMesh_Visibility.cs | 15 ++++++++++++++ .../Unit/Events/EventMesh_Visibility.cs.meta | 11 ++++++++++ Assets/Scripts/Unit/TimelineEventProxy.cs | 24 ++++++++++++++++------ 8 files changed, 71 insertions(+), 14 deletions(-) create mode 100644 Assets/Scripts/Unit/Events/EventMesh_Visibility.cs create mode 100644 Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta (limited to 'Assets/Scripts/Unit') diff --git a/Assets/Scripts/Unit/AnimationData.cs b/Assets/Scripts/Unit/AnimationData.cs index 465c0806..a84afd9f 100644 --- a/Assets/Scripts/Unit/AnimationData.cs +++ b/Assets/Scripts/Unit/AnimationData.cs @@ -67,8 +67,13 @@ public struct AnimationParameter [SerializeField] public List setters; } +public enum EAnimationParameter +{ + Visibility = 0, +} + [Serializable] -public class ParameterDictionary : SerializableDictionary { } +public class ParameterDictionary : SerializableDictionary { } // 某个动画的数据,包括帧事件、碰撞盒、速度曲线 [CreateAssetMenu(fileName = "Animation Data")] diff --git a/Assets/Scripts/Unit/Collider/ColliderBox.cs b/Assets/Scripts/Unit/Collider/ColliderBox.cs index 467dff77..9c6e14e8 100644 --- a/Assets/Scripts/Unit/Collider/ColliderBox.cs +++ b/Assets/Scripts/Unit/Collider/ColliderBox.cs @@ -36,16 +36,23 @@ public class ColliderBox #endregion #region Hitbox + public enum SparkAnchor + { + Default = 0, + CenterOfIntersection = 0, + } [ColliderType(EColliderType.HitBox), Tooltip("击退距离")] public Vector3 hitBack; [ColliderType(EColliderType.HitBox), Tooltip("允许多次击中")] public bool multiHit; [ColliderType(EColliderType.HitBox), Tooltip("击中后的粒子效果")] public string sparkPath; - #endregion + [ColliderType(EColliderType.HitBox), Tooltip("击中后的粒子效果")] + public Vector3 sparkOffset; + #endregion - #region ThrowBox - [ColliderType(EColliderType.ThrowBox), Tooltip("是否允许抓取多个")] + #region ThrowBox + [ColliderType(EColliderType.ThrowBox), Tooltip("是否允许抓取多个")] public bool multiple; #endregion diff --git a/Assets/Scripts/Unit/Component/UnitAnimation.cs b/Assets/Scripts/Unit/Component/UnitAnimation.cs index bbe4eb22..993998a0 100644 --- a/Assets/Scripts/Unit/Component/UnitAnimation.cs +++ b/Assets/Scripts/Unit/Component/UnitAnimation.cs @@ -165,7 +165,7 @@ public class AnimatorLayerInfo this.m_Animator = animator; this.layer = layer; m_CalcPlaybackTimeCoroutine = unitAnimation.StartCoroutine(CalcPlaybackRealTimeCoroutine()); - m_TimelineEventProxy = new TimelineEventProxy(unitAnimation.owner.transform, unitAnimation); + m_TimelineEventProxy = new TimelineEventProxy(unitAnimation.owner.transform, unitAnimation.owner); } IEnumerator CalcPlaybackRealTimeCoroutine() diff --git a/Assets/Scripts/Unit/Controller/UnitController.cs b/Assets/Scripts/Unit/Controller/UnitController.cs index a48ef6ee..5523f256 100644 --- a/Assets/Scripts/Unit/Controller/UnitController.cs +++ b/Assets/Scripts/Unit/Controller/UnitController.cs @@ -60,6 +60,15 @@ public class UnitController : MonoBehaviour/*, Interactable*/ } } + private bool m_Visible; + public bool visible + { + get + { + return m_Visible; + } + } + public virtual void Initialize( GameObject obj , string folder) { unitObj = obj; diff --git a/Assets/Scripts/Unit/Events/EventEffect.cs b/Assets/Scripts/Unit/Events/EventEffect.cs index 71228b84..8820aa21 100644 --- a/Assets/Scripts/Unit/Events/EventEffect.cs +++ b/Assets/Scripts/Unit/Events/EventEffect.cs @@ -1,6 +1,4 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; public class EventEffect : AnimationEventBase { diff --git a/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs b/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs new file mode 100644 index 00000000..d670ad13 --- /dev/null +++ b/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs @@ -0,0 +1,15 @@ +using UnityEngine; + +public class EventMesh_Visibility : AnimationEventBase +{ + public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventMesh_Visibility; } } + public override string shortName { get { return "V"; } } + + [Tooltip("Visibility")] + public bool visible; + + public bool fade; + + public float fadeDuration; + +} \ No newline at end of file diff --git a/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta b/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta new file mode 100644 index 00000000..b7dd6f3d --- /dev/null +++ b/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f555b593e51b2a64c80c0b40bf052b07 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs index 00b5f1dc..5862facf 100644 --- a/Assets/Scripts/Unit/TimelineEventProxy.cs +++ b/Assets/Scripts/Unit/TimelineEventProxy.cs @@ -19,10 +19,11 @@ public partial class TimelineEventProxy EventCamera_WhiteOut, // 相机白屏 EventMesh_AfterImage, // 角色残像 - EventMesh_Fade, // 角色透明度 + EventMesh_FadeIn, // 角色透明度 + EventMesh_FadeOut, // 角色透明度 EventMesh_Gloss, // 角色泛光 - EventEnv_Dark, + EventEnv_Dark, EventEnv_Exposure, EventUI_Drift, // @@ -40,13 +41,16 @@ public partial class TimelineEventProxy private int m_PrevFrame = -1; - private UnitAnimation m_UnitAnimation; - private Transform m_Root; - public TimelineEventProxy(Transform root, UnitAnimation unitAnimation = null) + private UnitController m_Owner; + + private UnitAnimation m_UnitAnimation { get { return m_Owner.unitAnimation; } } + + public TimelineEventProxy(Transform root, UnitController owner = null) { m_Root = root; + m_Owner = owner; } public static Type GetTypeByName(string name) @@ -121,5 +125,13 @@ public partial class TimelineEventProxy } - #endregion + void EventMesh_Visibility(AnimationEventBase animEvent) + { + EventMesh_Visibility visibility = animEvent as EventMesh_Visibility; + if (visibility == null) + return; + + } + + #endregion } \ No newline at end of file -- cgit v1.1-26-g67d0