From 01f06fb513dab303abeb02d7e1007e397874bcc0 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 16 Nov 2020 21:08:39 +0800 Subject: *misc --- Assets/Scripts/Test/ArmorSoldierScript_Anim.cs | 8 ++++++-- Assets/Scripts/Test/ArmorSoldierScript_States.cs | 20 +++++++++++++------- Assets/Scripts/Test/SaionjiScript.cs | 1 - Assets/Scripts/Test/SaionjiScript_Effect.cs | 2 -- Assets/Scripts/Test/SaionjiScript_States.cs | 18 +++++++++++------- 5 files changed, 30 insertions(+), 19 deletions(-) (limited to 'Assets/Scripts/Test') diff --git a/Assets/Scripts/Test/ArmorSoldierScript_Anim.cs b/Assets/Scripts/Test/ArmorSoldierScript_Anim.cs index cf21a504..fd632ab7 100644 --- a/Assets/Scripts/Test/ArmorSoldierScript_Anim.cs +++ b/Assets/Scripts/Test/ArmorSoldierScript_Anim.cs @@ -12,7 +12,9 @@ public partial class ArmorSoldierScript : Avatar, IInteractable int Anim_MidiumHurt; int Anim_HeavyHurt; int Anim_GroundHurt; - int Anim_AirHurt; + int Anim_AirHurt; + + int Anim_GetUp; void SetupAnim() @@ -26,6 +28,8 @@ public partial class ArmorSoldierScript : Avatar, IInteractable Anim_GroundHurt = Animator.StringToHash("Hurt_Ground"); Anim_AirHurt = Animator.StringToHash("Hurt_Air"); - } + Anim_GetUp = Animator.StringToHash("GetUp"); + + } } \ No newline at end of file diff --git a/Assets/Scripts/Test/ArmorSoldierScript_States.cs b/Assets/Scripts/Test/ArmorSoldierScript_States.cs index 04532dd2..3df583f2 100644 --- a/Assets/Scripts/Test/ArmorSoldierScript_States.cs +++ b/Assets/Scripts/Test/ArmorSoldierScript_States.cs @@ -23,17 +23,18 @@ public partial class ArmorSoldierScript : Avatar, IInteractable m_StateGroundHurt = groundHurt; m_StateAirHurt = airHurt; - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // conditions - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - ConditionInAir condInAir = new ConditionInAir(m_BodyCollider); - + HurtState getUp = new HurtState(m_Animator, Anim_GetUp); + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // conditions + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + ConditionInAir condInAir = new ConditionInAir(m_BodyCollider); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // actions //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ActionSwitchState switchToIdle = new ActionSwitchState(m_StateController, idle); + ActionSwitchState switchToGetUp = new ActionSwitchState(m_StateController, getUp); Trigger trigger = null; @@ -49,9 +50,14 @@ public partial class ArmorSoldierScript : Avatar, IInteractable // air hurt ConditionMotionAtEnd airAtEnd = new ConditionMotionAtEnd(m_Animator, Anim_AirHurt); - trigger = new Trigger(And(airAtEnd, Not(condInAir)), switchToIdle); + trigger = new Trigger(And(airAtEnd, Not(condInAir)), switchToGetUp); airHurt.AddTrigger(trigger); + // getup + ConditionMotionAtEnd getUpEnd = new ConditionMotionAtEnd(m_Animator, Anim_GetUp); + trigger = new Trigger(getUpEnd, switchToIdle); + getUp.AddTrigger(trigger); + m_StateController.ForceStart(idle); } diff --git a/Assets/Scripts/Test/SaionjiScript.cs b/Assets/Scripts/Test/SaionjiScript.cs index ae8ee6ff..1178b42a 100644 --- a/Assets/Scripts/Test/SaionjiScript.cs +++ b/Assets/Scripts/Test/SaionjiScript.cs @@ -28,7 +28,6 @@ public partial class SaionjiScript : Avatar public EffectHandler[] Effects; - // Start is called before the first frame update void Start() { base.Init(); diff --git a/Assets/Scripts/Test/SaionjiScript_Effect.cs b/Assets/Scripts/Test/SaionjiScript_Effect.cs index f07ce915..54de744e 100644 --- a/Assets/Scripts/Test/SaionjiScript_Effect.cs +++ b/Assets/Scripts/Test/SaionjiScript_Effect.cs @@ -4,8 +4,6 @@ using UnityEngine; public partial class SaionjiScript : Avatar { - public Transform m_Hips; - public override Vector3 GetEffectPosition() { return m_Hips.position; diff --git a/Assets/Scripts/Test/SaionjiScript_States.cs b/Assets/Scripts/Test/SaionjiScript_States.cs index 0c733cd6..ce9fb8a6 100644 --- a/Assets/Scripts/Test/SaionjiScript_States.cs +++ b/Assets/Scripts/Test/SaionjiScript_States.cs @@ -40,13 +40,15 @@ public partial class SaionjiScript : Avatar AttackState airDash = new AttackState(animator, Anim_AirDash, m_Body); - AttackStateConfig config; - - //招式会绑定一个motion - HitDefination hitDef = new HitDefination - { + AttackStateConfig config; + + //招式会绑定一个motion + HitDefination hitDef = new HitDefination + { type = HitType.Air, - hurtAddForce = new Vector3(0, 20000, 0) + hurtAddForce = new Vector3(0, 20000, 0), + sparkName = "Bullet_WhiteSpark", + sparkHostType = HitSparkHost.Center }; AttackState attk1 = new AttackState(animator, Anim_LightAttack1, m_Body); attk1.AddHitDefination(hitDef); @@ -79,7 +81,9 @@ public partial class SaionjiScript : Avatar hitDef = new HitDefination { type = HitType.Air, - hurtAddForce = new Vector3(0,10000,0) + hurtAddForce = new Vector3(0,10000,0), + sparkName = "Bullet_WhiteSpark", + sparkHostType = HitSparkHost.Center }; airAttk1.AddHitDefination(hitDef); -- cgit v1.1-26-g67d0