/// <summary> /// /// </summary> /// <param name="currentAttack"></param> /// <returns></returns> protected virtual bool TrySpecialCancel(AttackDefinition currentAttack) { for (int i = 0; i < currentAttack.specialCancelFrames.Count; i++) { if (StateManager.CurrentStateFrame >= currentAttack.specialCancelFrames[i].x && StateManager.CurrentStateFrame <= currentAttack.specialCancelFrames[i].y) { MovesetAttackNode man = ((EntityCombatManager)CombatManager).TrySpecial(); if (man != null) { CombatManager.SetAttack(man); StateManager.ChangeState((int)EntityStates.ATTACK); return(true); } } } return(false); }
public virtual MovesetAttackNode TrySpecial() { switch (manager.IsGrounded) { case true: MovesetAttackNode groundCommandNormal = (MovesetAttackNode)CheckAttackNodes(ref moveset.groundSpecialStartNodes); if (groundCommandNormal != null) { return(groundCommandNormal); } break; case false: MovesetAttackNode airCommandNormal = (MovesetAttackNode)CheckAttackNodes(ref moveset.airSpecialStartNodes); if (airCommandNormal != null) { return(airCommandNormal); } break; } return(null); }