Ejemplo n.º 1
0
        public void ShooterMove(PlayerCharacter player)
        {
            float speed = player.moveSpeed * Time.deltaTime;

            if (Input.GetAxis("Vertical") > MOVEMENTDEADZONE)
            {
                Vector3 moveVec = new Vector3(0, 0, speed);
                moveVec = player.transform.TransformDirection(moveVec);
                player.GetComponent <CharacterController>().Move(moveVec);
            }
            else if (Input.GetAxis("Vertical") < -MOVEMENTDEADZONE)
            {
                Vector3 moveVec = new Vector3(0, 0, -speed);
                moveVec = player.transform.TransformDirection(moveVec);
                player.GetComponent <CharacterController>().Move(moveVec);
            }

            if (Input.GetAxis("Horizontal") < -MOVEMENTDEADZONE)
            {
                Vector3 moveVec = new Vector3(-speed, 0, 0);
                moveVec = player.transform.TransformDirection(moveVec);
                player.GetComponent <CharacterController>().Move(moveVec);
            }
            else if (Input.GetAxis("Horizontal") > MOVEMENTDEADZONE)
            {
                Vector3 moveVec = new Vector3(speed, 0, 0);
                moveVec = player.transform.TransformDirection(moveVec);
                player.GetComponent <CharacterController>().Move(moveVec);
            }
        }
Ejemplo n.º 2
0
        private void Flash(PlayerCharacter player)
        {
            var flashRate = FLASHINTERVAL;

            if (timer % flashRate < flashRate / 2)
            {
                player.GetComponent <Renderer>().material = normalMat;
            }
            else
            {
                player.GetComponent <Renderer>().material = hurtMat;
            }
        }
Ejemplo n.º 3
0
 public void GetHit(PlayerCharacter player)
 {
     --player.health;
     player.GetComponent <AudioSource>().PlayOneShot(player.hurtSFX);
     if (player.health <= 0)
     {
         Die(player);
     }
 }
Ejemplo n.º 4
0
        public void Die(PlayerCharacter player)
        {
            player.GetComponent <CharacterController>().enabled = false;
            player.gameObject.AddComponent <CapsuleCollider>();
            player.gameObject.AddComponent <Rigidbody>();
            player.transform.Rotate(new Vector3(1, 0, 1)); // to make sure we fall over dramatically

            player.dead   = true;
            player.aiming = false;
        }
Ejemplo n.º 5
0
 public void Fall(PlayerCharacter player)
 {
     if (!player.grounded)
     {
         movementVec.y -= player.gravity * Time.deltaTime;
         player.GetComponent <CharacterController>().Move(movementVec);
     }
     else
     {
         movementVec.y = -1;
     }
 }
Ejemplo n.º 6
0
        public void MeleeMove(PlayerCharacter player, bool strafe = false)
        {
            float speed = player.moveSpeed * Time.deltaTime;

            // Move based on direction from input
            var zin     = Input.GetAxis("Vertical");
            var zMove   = Mathf.Abs(zin) > MOVEMENTDEADZONE ? speed * zin : 0;
            var xin     = Input.GetAxis("Horizontal");
            var xMove   = Mathf.Abs(xin) > MOVEMENTDEADZONE ? speed * xin : 0;
            var moveVec = mainCam.transform.TransformDirection(new Vector3(xMove, 0, zMove));

            player.GetComponent <CharacterController>().Move(moveVec);

            // Handle rotation
            Vector3 newDir = Vector3.RotateTowards(player.transform.forward, moveVec, player.turnSpeed, 0.0f);

            newDir.y = 0;
            player.transform.rotation = Quaternion.LookRotation(newDir);

            // Animation
            player.GetComponent <Animator>().SetFloat("Speed", Mathf.Abs(xin) + Mathf.Abs(zin));
        }
Ejemplo n.º 7
0
 public void Jump(PlayerCharacter player)
 {
     player.LeaveGround();
     movementVec.y = player.jumpSpeed;
     player.GetComponent <CharacterController>().Move(movementVec);
 }
Ejemplo n.º 8
0
 public new void HandleUpdate(PlayerCharacter player)
 {
     base.HandleUpdate(player);
     timer--;
     player.GetComponent <CharacterController>().Move(dashDirection * dashSpeed);
 }
Ejemplo n.º 9
0
 public void HandleUpdate(PlayerCharacter player)
 {
     Flash(player);
     player.GetComponent <CharacterController>().Move(player.transform.TransformDirection(Vector3.back) * Time.deltaTime * player.bounceback);
     --timer;
 }
Ejemplo n.º 10
0
 public void OnExit(PlayerCharacter player)
 {
     player.GetComponent <Renderer>().material = normalMat;
 }