/// <summary> /// Define Animator states /// </summary> private void InitializeAnimator() { this.JumpTrigger = new AnimationTrigger("Jump", this.Animator); this.SecondJumpTrigger = new AnimationTrigger("SecondJump", this.Animator); this.LandingTrigger = new AnimationTrigger("Landing", this.Animator); this.RestTrigger = new AnimationTrigger("Rest", this.Animator); this.WeakDamageTrigger = new AnimationTrigger("WeakDamage", this.Animator); this.StrongDamageTrigger = new AnimationTrigger("StrongDamage", this.Animator); this.FlyDamageTrigger = new AnimationTrigger("FlyDamage", this.Animator); this.StunDamageTrigger = new AnimationTrigger("StunDamage", this.Animator); this.AnimatorSpeed = new AnimatorValueFloat("Speed", this.Animator); this.AttackEnabled = new ReadOnlyAnimatorValueFloat("AttackEnabled", this.Animator); this.DamageMove = new ReadOnlyAnimatorValueFloat("DamageMove", this.Animator); this.JumpStability = new ReadOnlyAnimatorValueFloat("JumpStability", this.Animator); this.Invincible = new ReadOnlyAnimatorValueFloat("Invincible", this.Animator); this.OnGrond = new AnimatorValueBool("OnGround", this.Animator); this.Attack1 = new AnimatorValueBool("Attack1", this.Animator); this.Attack2_0 = new AnimatorValueBool("Attack2_0", this.Animator); this.Attack2 = new AnimatorValueBool("Attack2", this.Animator); this.Attack2Finish = new AnimatorValueBool("Attack2_finish", this.Animator); this.AnimatorStates = new AnimatorStateManager().AddTo(this.Disposables); this.IdleState = new AnimatorState("Base Layer.Idle", this.AnimatorStates); this.LocoState = new AnimatorState("Base Layer.Locomotion", this.AnimatorStates); this.JumpState = new AnimatorState("Base Layer.Jump", this.AnimatorStates); this.Jmp2State = new AnimatorState("Base Layer.SecondJump", this.AnimatorStates); this.LandState = new AnimatorState("Base Layer.Landing", this.AnimatorStates); this.Lan2State = new AnimatorState("Base Layer.Landed", this.AnimatorStates); this.RestState = new AnimatorState("Base Layer.Rest", this.AnimatorStates); var airAttack1State = new AnimatorState("Base Layer.AirAtk1", this.AnimatorStates); var airAttack2_0State = new AnimatorState("Base Layer.AirAtk2_0", this.AnimatorStates); var airAttack2_1State = new AnimatorState("Base Layer.AirAtk2_1", this.AnimatorStates); var airAttack2_2State = new AnimatorState("Base Layer.AirAtk2_2", this.AnimatorStates); var landAttack1State = new AnimatorState("Base Layer.LandAtk1", this.AnimatorStates); var landAttack2_0State = new AnimatorState("Base Layer.LandAtk2_0", this.AnimatorStates); var landAttack2_1State = new AnimatorState("Base Layer.LandAtk2_1", this.AnimatorStates); var landAttack2_2State = new AnimatorState("Base Layer.LandAtk2_2", this.AnimatorStates); var landAttack2FinishState = new AnimatorState("Base Layer.LandAtk2_finish", this.AnimatorStates); this.WeakDamageState = new AnimatorState("Base Layer.WeakDamage", this.AnimatorStates); this.StrongDamageState = new AnimatorState("Base Layer.StrongDamage", this.AnimatorStates); this.FlyDamageState = new AnimatorState("Base Layer.FlyDamage", this.AnimatorStates); var stunDamageState = new AnimatorState("Base Layer.StunDamage", this.AnimatorStates); //var damagedGround1State = new AnimatorState("Base Layer.DamagedGround1", this.AnimatorStates); //var damagedGround2State = new AnimatorState("Base Layer.DamagedGround2", this.AnimatorStates); //var damagedGround3State = new AnimatorState("Base Layer.DamagedGround3", this.AnimatorStates); //var damagedAir1State = new AnimatorState("Base Layer.DamagedAir1", this.AnimatorStates); //var damagedAir2State = new AnimatorState("Base Layer.DamagedAir2", this.AnimatorStates); //var damagedAir3State = new AnimatorState("Base Layer.DamagedAir3", this.AnimatorStates); new[] { this.JumpState, this.Jmp2State, this.LandState, airAttack1State, airAttack2_0State, airAttack2_1State, airAttack2_2State, } .ForEach(y => y.Tags.Add(inAirTag)); new[] { airAttack1State, airAttack2_0State, airAttack2_1State, airAttack2_2State, landAttack1State, landAttack2_0State, landAttack2_1State, landAttack2_2State, landAttack2FinishState, } .ForEach(y => { y.Tags.Add(inAttackTag); //y.Tags.Add(clearSecondJumpFlagTag); }); new[] { airAttack2_0State, airAttack2_1State, airAttack2_2State, landAttack2_0State, landAttack2_1State, landAttack2_2State, } .ForEach(y => y.Tags.Add(inRushAttackTag)); new[] { this.WeakDamageState, this.StrongDamageState, this.FlyDamageState, stunDamageState, } .ForEach(y => y.Tags.Add(damagedTag)); //new[] //{ // damagedAir1State, // damagedAir2State, // damagedAir3State, //} //.ForEach(y => y.Tags.Add(clearSecondJumpFlagTag)); new[] { this.JumpState, this.Jmp2State, this.IdleState, this.LocoState, this.LandState, this.RestState, } .ForEach(y => y.Tags.Add(attackableTag)); new[] { airAttack2_0State, airAttack2_1State, //airAttack2_2State, landAttack2_0State, landAttack2_1State, //landAttack2_2State, landAttack2FinishState, } .ForEach(y => y.Tags.Add(punchAttackTag)); new[] { landAttack2FinishState, } .ForEach(y => y.Tags.Add(finishPunchAttackTag)); new[] { airAttack2_2State, landAttack2_2State, } .ForEach(y => y.Tags.Add(punch2AttackTag)); new[] { airAttack1State, landAttack1State, } .ForEach(y => y.Tags.Add(kickAttackTag)); }
public void Register(AnimatorState state) { this.States.Add(state); }