From aaea0c7f800a39f5e43e36e18837b174d344afdf Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 8 Sep 2021 23:46:05 +0800 Subject: +action data --- Assets/Scripts/Unit/AI/Actions.meta | 8 -------- Assets/Scripts/Unit/AI/Conditionals.meta | 8 -------- Assets/Scripts/Unit/AnimationData.cs | 24 ++++++++++++++++++++++ .../Unit/Components/UnitAnimation/PCAnimation.cs | 21 ++++++------------- Assets/Scripts/Unit/UnitActionData.cs | 3 +-- 5 files changed, 31 insertions(+), 33 deletions(-) delete mode 100644 Assets/Scripts/Unit/AI/Actions.meta delete mode 100644 Assets/Scripts/Unit/AI/Conditionals.meta (limited to 'Assets/Scripts/Unit') diff --git a/Assets/Scripts/Unit/AI/Actions.meta b/Assets/Scripts/Unit/AI/Actions.meta deleted file mode 100644 index 9b4ad463..00000000 --- a/Assets/Scripts/Unit/AI/Actions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 971e9d55b8bc0894eb6a110fb962000b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Unit/AI/Conditionals.meta b/Assets/Scripts/Unit/AI/Conditionals.meta deleted file mode 100644 index 70a86da5..00000000 --- a/Assets/Scripts/Unit/AI/Conditionals.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 85b7e0c7ed1d12f42a5178bfbf3d934c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Unit/AnimationData.cs b/Assets/Scripts/Unit/AnimationData.cs index 30762b39..2250da76 100644 --- a/Assets/Scripts/Unit/AnimationData.cs +++ b/Assets/Scripts/Unit/AnimationData.cs @@ -76,6 +76,14 @@ public enum EAnimationParameter [Serializable] public class ParameterDictionary : SerializableDictionary { } +public enum EAnimationProperty +{ + ComboTimeOffset = 1, +} + +[Serializable] +public class PropertyDictionary : SerializableDictionary { } + [Serializable] public class RootMotionOverrideData { @@ -190,6 +198,8 @@ public class AnimationData : ScriptableObject public ParameterDictionary parameters; + public PropertyDictionary properties; + public const int FPS = 30; public AnimationData() @@ -217,6 +227,20 @@ public class AnimationData : ScriptableObject return null; } + public bool HasProperty(EAnimationProperty property) + { + if (!properties.ContainsKey(property)) + return false; + return true; + } + + public float GetProperty(EAnimationProperty property) + { + if (!HasProperty(property)) + return 0; + return properties[property]; + } + public bool HasParameter(EAnimationParameter parameterName) { if (!parameters.ContainsKey(parameterName)) diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs index ac2649b7..243ce162 100644 --- a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs +++ b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs @@ -159,21 +159,12 @@ public class PCAnimation : UnitAnimation public void AnimAirAttack(int id) { m_Owner.unitCollider.OnAnimationChange(); - switch (id) - { - case 0: - CrossFade(EAnimState.AirAttack0, 0.05f); - break; - case 1: - CrossFade(EAnimState.AirAttack1, 0.05f); - break; - case 2: - CrossFade(EAnimState.AirAttack2, 0.05f); - break; - case 3: - CrossFade(EAnimState.AirAttack3, 0.05f); - break; - } + EAnimState state = EAnimState.AirAttack0; + if (id == 1) state = EAnimState.AirAttack1; + else if (id == 2) state = EAnimState.AirAttack2; + else if (id == 3) state = EAnimState.AirAttack3; + + CrossFade(state, 0.05f); } public void AnimAttackToAir(float offset) diff --git a/Assets/Scripts/Unit/UnitActionData.cs b/Assets/Scripts/Unit/UnitActionData.cs index a2bb7a69..8a06a249 100644 --- a/Assets/Scripts/Unit/UnitActionData.cs +++ b/Assets/Scripts/Unit/UnitActionData.cs @@ -4,8 +4,7 @@ using System.Collections.Generic; using UnityEngine; [Serializable] -public class TriggerAnimationDictionary : SerializableDictionary { } - +public class TriggerAnimationDictionary : SerializableDictionary { } // 配置角色的动画 [CreateAssetMenu(fileName = "Unit Action Data")] -- cgit v1.1-26-g67d0