//constructor private RangedState() { //if state already exists then return if (_instance != null) { return; } //if not set instance to this _instance = this; }
void Update() { #region Melee States switch (stateMelee) { case MeleeState.Idle: if (playerCombat.ranged) { stateMelee = MeleeState.Ranged; } playerMovement.restrictMovement = false; playerCombat.canKnockback = false; stateRanged = RangedState.Melee; if (playerCombat.inputRecieved) { //Debug.Log("Attack Animation"); animator.SetTrigger("AttackOne"); playerCombat.MeleeAttack(); playerCombat.InputManager(); playerCombat.inputRecieved = false; stateMelee = MeleeState.Attack; } break; case MeleeState.Moving: stateRanged = RangedState.Melee; playerCombat.ranged = false; if (playerCombat.inputRecieved) { //Debug.Log("Attack Animation"); animator.SetTrigger("AttackOne"); playerCombat.MeleeAttack(); playerCombat.InputManager(); playerCombat.inputRecieved = false; } break; case MeleeState.Dodging: stateRanged = RangedState.Melee; break; case MeleeState.Attack: stateRanged = RangedState.Melee; playerMovement.restrictMovement = true; break; case MeleeState.Attack1_Transition: stateRanged = RangedState.Melee; playerCombat.canRecieveInput = true; if (playerCombat.inputRecieved) { animator.SetTrigger("AttackTwo"); playerCombat.MeleeAttack(); playerCombat.InputManager(); playerCombat.inputRecieved = false; } break; case MeleeState.Attack2_Transition: stateRanged = RangedState.Melee; playerCombat.canRecieveInput = true; playerCombat.canKnockback = true; if (playerCombat.inputRecieved) { animator.SetTrigger("AttackThree"); playerCombat.MeleeAttack(); playerCombat.InputManager(); playerCombat.inputRecieved = false; } break; case MeleeState.Ranged: break; } #endregion #region Ranged States switch (stateRanged) { case RangedState.NormalMovement: if (!playerCombat.ranged) { stateRanged = RangedState.Melee; } playerCombat.ranged = true; stateMelee = MeleeState.Ranged; playerMovement.restrictMovement = false; break; case RangedState.RestrictMovement: stateMelee = MeleeState.Ranged; playerMovement.restrictMovement = true; playerCombat.ranged = true; break; case RangedState.Melee: break; case RangedState.RangedDodging: stateMelee = MeleeState.Ranged; break; } #endregion }
public void SetRangedDodging() { stateRanged = RangedState.RangedDodging; }
public void SetRestrict() { stateRanged = RangedState.RestrictMovement; }
// Events called by ranged animations #region Ranged Events public void SetNormal() { stateRanged = RangedState.NormalMovement; }
public void PlayerDead() { stateMelee = MeleeState.Ranged; stateRanged = RangedState.RestrictMovement; }