From 28b89971f0d3fd246443450c87f33996716facb3 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 15 Sep 2021 19:58:59 +0800 Subject: *misc --- .../Unit/Components/UnitAnimation/UnitAnimation.cs | 7 +++++- Assets/Scripts/Unit/Components/UnitBody.cs | 27 ++++++++++++++++++++++ Assets/Scripts/Unit/Components/UnitBody.cs.meta | 11 +++++++++ .../Scripts/Unit/Components/UnitState/PCState.cs | 14 ++++++++++- .../Unit/Components/UnitState/PCState_States.cs | 17 +++++++------- 5 files changed, 66 insertions(+), 10 deletions(-) create mode 100644 Assets/Scripts/Unit/Components/UnitBody.cs create mode 100644 Assets/Scripts/Unit/Components/UnitBody.cs.meta (limited to 'Assets/Scripts/Unit/Components') diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs index d036c5b4..ddf2c4cc 100644 --- a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs +++ b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs @@ -41,7 +41,7 @@ public class AnimatorLayerInfo } // 当前在播放的动作 - // 如果处于transition中,动作不变,切换完成后才会到下一个动作 + // 如果处于transition中,认为当前状态是transition的目标状态(和Animator规则不一样) public AnimatorStateInfo stateInfo { get @@ -262,6 +262,11 @@ public class UnitAnimation : UnitComponent } } + public override void OnUpdate() + { + base.OnUpdate(); + } + public void Play(string animState, int layerIndex = 0, float normalizedTime = float.NegativeInfinity) { AnimatorLayerInfo layer = this.layers[layerIndex]; diff --git a/Assets/Scripts/Unit/Components/UnitBody.cs b/Assets/Scripts/Unit/Components/UnitBody.cs new file mode 100644 index 00000000..cc7ac348 --- /dev/null +++ b/Assets/Scripts/Unit/Components/UnitBody.cs @@ -0,0 +1,27 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class UnitBody : UnitComponent +{ + public override void Initialize() + { + base.Initialize(); + } + + public override void OnUpdate() + { + base.OnUpdate(); + } + + public override void OnDestroy() + { + base.OnDestroy(); + } + + public void OnLateAnimatorUpdate() + { + + } + +} diff --git a/Assets/Scripts/Unit/Components/UnitBody.cs.meta b/Assets/Scripts/Unit/Components/UnitBody.cs.meta new file mode 100644 index 00000000..01a2d416 --- /dev/null +++ b/Assets/Scripts/Unit/Components/UnitBody.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d90e40c0e85fa474ba6282bcb5bab16b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs index 0880d369..afedf6d8 100644 --- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs +++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs @@ -147,14 +147,26 @@ public partial class PCState : UnitState } - void TryTianyin() + bool TryTianyin() { if (Input.GetKeyDown("o")) { float offset = owner.isTowardRight ? 1.2f : -1.2f; TestErika.Instance.monster.owner.center = owner.center + new Vector3(offset, 0.5f, 0); ((MonsterController)TestErika.Instance.monster.owner).monsterState.ChangeState(MonsterState.EUnitState.HitInAir, new MonsterState.HitInAirParam(), true); + return true; } + return false; + } + + bool TryAttackToAir() + { + if(Input.GetKey("s") && Input.GetKeyDown("j")) + { + ChangeState(EUnitState.AttackToAir, new SkillParam()); + return true; + } + return false; } } \ No newline at end of file diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs index 512c2113..7860e2af 100644 --- a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs +++ b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs @@ -48,17 +48,19 @@ public partial class PCState : UnitState m_Owner.SetYPosition(0); while (true) { - if (Input.GetKeyDown("j")) + if(TryAttackToAir()) { - ChangeState(EUnitState.Attack, new SkillParam()); + yield break; } - if (Input.GetKeyDown("u")) + if (Input.GetKeyDown("j")) { - ChangeState(EUnitState.AttackToAir, new SkillParam()); + ChangeState(EUnitState.Attack, new SkillParam()); + yield break; } if (Input.GetKeyDown("space")) { ChangeState(EUnitState.Jump, new JumpParam()); + yield break; } if (Input.GetKey("d")) { @@ -66,6 +68,7 @@ public partial class PCState : UnitState move.isRight = true; move.key = "d"; ChangeState(EUnitState.Move, move); + yield break; } if (Input.GetKey("a")) { @@ -73,6 +76,7 @@ public partial class PCState : UnitState move.isRight = false; move.key = "a"; ChangeState(EUnitState.Move, move); + yield break; } yield return null; } @@ -101,10 +105,7 @@ public partial class PCState : UnitState m_Owner.pcAnimation.AnimMove(); while (Input.GetKey(param.key)) { - if (Input.GetKeyDown("u")) - { - ChangeState(EUnitState.AttackToAir, new SkillParam()); - } + TryAttackToAir(); yield return null; } ChangeState(EUnitState.Idle, new IdleParam()); -- cgit v1.1-26-g67d0