Beispiel #1
0
    protected override Vector3 DetermineMovement()
    {
        var movement = new Vector3();

        if (!IsDead && InputHelpers.IsAnyKey("w", "s", "a", "d"))
        {
            ShouldMove        = true;
            GunObject.enabled = false;

            var headDirection = PlayerHeadController.HeadDirection.Down;

            if (Input.GetKey("w"))
            {
                movement     += new Vector3(0, 1, 0);
                headDirection = PlayerHeadController.HeadDirection.Up;
            }
            else if (Input.GetKey("s"))
            {
                movement         += new Vector3(0, -1, 0);
                GunObject.enabled = true;
                headDirection     = PlayerHeadController.HeadDirection.Down;
            }
            if (Input.GetKey("a"))
            {
                movement     += new Vector3(-1, 0, 0);
                headDirection = PlayerHeadController.HeadDirection.Left;
            }
            else if (Input.GetKey("d"))
            {
                movement     += new Vector3(1, 0, 0);
                headDirection = PlayerHeadController.HeadDirection.Right;
            }

            movement.Normalize();

            if (!_shootController.IsShooting)
            {
                _headObject.SetHeadDirection(headDirection);
            }
        }
        else if (!IsDead)
        {
            ShouldMove = false;
        }

        return(movement);
    }