Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }