public void OnAttackDirection(WeaponManager.MouseDirections direction) { // Get state based on attack direction WeaponStates state; // Bows has only one type of attack if (WeaponType == WeaponTypes.Bow) { state = WeaponStates.StrikeDown; } else { switch (direction) { case WeaponManager.MouseDirections.Down: state = WeaponStates.StrikeDown; break; case WeaponManager.MouseDirections.DownLeft: state = WeaponStates.StrikeDownLeft; break; case WeaponManager.MouseDirections.Left: state = WeaponStates.StrikeLeft; break; case WeaponManager.MouseDirections.Right: state = WeaponStates.StrikeRight; break; case WeaponManager.MouseDirections.DownRight: state = WeaponStates.StrikeDownRight; break; case WeaponManager.MouseDirections.Up: state = WeaponStates.StrikeUp; break; default: return; } } // Do not change if already playing attack animation if (!IsPlayingOneShot()) { ChangeWeaponState(state); } }
public void OnAttackDirection(WeaponManager.MouseDirections direction) { // Get state based on attack direction WeaponStates state; switch (direction) { case WeaponManager.MouseDirections.Down: state = WeaponStates.StrikeDown; break; case WeaponManager.MouseDirections.DownLeft: state = WeaponStates.StrikeDownLeft; break; case WeaponManager.MouseDirections.Left: state = WeaponStates.StrikeLeft; break; case WeaponManager.MouseDirections.Right: state = WeaponStates.StrikeRight; break; case WeaponManager.MouseDirections.DownRight: state = WeaponStates.StrikeDownRight; break; case WeaponManager.MouseDirections.Up: case WeaponManager.MouseDirections.UpLeft: case WeaponManager.MouseDirections.UpRight: state = WeaponStates.StrikeUp; break; default: return; } // Do not change if already playing attack animation, unless releasing an arrow (bow & state=up->down) if (!IsPlayingOneShot() || (WeaponType == WeaponTypes.Bow && weaponState == WeaponStates.StrikeUp && state == WeaponStates.StrikeDown)) { ChangeWeaponState(state); } }
public void OnAttackDirection(WeaponManager.MouseDirections direction) { // Get state based on attack direction WeaponStates state; switch (direction) { case WeaponManager.MouseDirections.Down: state = WeaponStates.StrikeDown; break; case WeaponManager.MouseDirections.DownLeft: state = WeaponStates.StrikeDownLeft; break; case WeaponManager.MouseDirections.Left: state = WeaponStates.StrikeLeft; break; case WeaponManager.MouseDirections.Right: state = WeaponStates.StrikeRight; break; case WeaponManager.MouseDirections.DownRight: state = WeaponStates.StrikeDownRight; break; case WeaponManager.MouseDirections.Up: state = WeaponStates.StrikeUp; break; default: return; } // Do not change if already playing attack animation if (!IsPlayingOneShot()) { PlaySwingSound(); ChangeWeaponState(state); } }