diff options
author | chai <chaifix@163.com> | 2021-09-01 09:49:36 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-09-01 09:49:36 +0800 |
commit | e7c9ddfae65a93336d414c2af90effd1d8bada82 (patch) | |
tree | e1e6e41d7e460ae3dd3bafb76979610ad928656d /Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs | |
parent | a5c191cf74238084d9bd9f805b4b6755f70d956d (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs')
-rw-r--r-- | Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs | 48 |
1 files changed, 26 insertions, 22 deletions
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs index 26361098..d7138516 100644 --- a/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs +++ b/Assets/Scripts/Unit/Components/UnitAnimation/MonsterAnimation.cs @@ -18,23 +18,11 @@ public class MonsterAnimation : UnitAnimation Idle = 0, Move, Jump, - Hit, - Attack, - Rise, - Stinger, - Turn, - Landing, - - AirAttack0, - AirAttack1, - AirAttack2, - AirAttack3, - - Attack0, - Attack1, - Attack2, - Attack3, - } + + HitLight, + HitAir, + Rise, + } public override void Initialize() { @@ -45,7 +33,7 @@ public class MonsterAnimation : UnitAnimation m_Animator.speed = 0; m_LayerInfo = new AnimatorLayerInfo[2]; - m_LayerInfo[0] = new AnimatorLayerInfo(this, m_Animator, (int)ELayer.Basic); + m_LayerInfo[0] = new AnimatorLayerInfo(this, m_Animator, (int)ELayer.Basic, ELayer.Basic.ToString()); //m_LayerInfo[1] = new AnimatorLayerInfo(this, m_Animator, ELayer.Attack); if (m_Animator == null) @@ -88,23 +76,39 @@ public class MonsterAnimation : UnitAnimation public void AnimIdle() { - m_Animator.CrossFade("Idle", 0.2f, 0); + this.CrossFade(EAnimState.Idle, 0.2f, 0); } public void AnimHitLight() { - m_Animator.Play("HitLight", 0, 0); + this.Play(EAnimState.HitLight, 0, 0); //m_Animator.CrossFade("HitLight", 0.05f, 0, 0, 0); } public void AnimHitAir() { - m_Animator.Play("HitAir", 0, 0); + this.Play(EAnimState.HitAir, 0, 0); //m_Animator.CrossFade("HitLight", 0.05f, 0, 0, 0); } public void AnimRise() { - m_Animator.CrossFade("Rise", 0); + this.CrossFade(EAnimState.Rise, 0); } + private void Play(EAnimState animState, int layerIndex = 0, float normalizedTime = float.NegativeInfinity) + { + AnimatorLayerInfo layer = this.layers[layerIndex]; + if (layer == null) + return; + layer.OnPlay(animState.ToString(), normalizedTime); + } + + public void CrossFade(EAnimState animState, float normalizedTransitionDuration, int layerIndex = 0, float normalizedTimeOffset = float.NegativeInfinity, float normalizedTransitionTime = 0.0f) + { + AnimatorLayerInfo layer = this.layers[layerIndex]; + if (layer == null) + return; + layer.OnCrossFade(animState.ToString(), normalizedTransitionDuration, normalizedTimeOffset, normalizedTransitionTime); + } + } |