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); } }
private void Flash(PlayerCharacter player) { var flashRate = FLASHINTERVAL; if (timer % flashRate < flashRate / 2) { player.GetComponent <Renderer>().material = normalMat; } else { player.GetComponent <Renderer>().material = hurtMat; } }
public void GetHit(PlayerCharacter player) { --player.health; player.GetComponent <AudioSource>().PlayOneShot(player.hurtSFX); if (player.health <= 0) { Die(player); } }
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; }
public void Fall(PlayerCharacter player) { if (!player.grounded) { movementVec.y -= player.gravity * Time.deltaTime; player.GetComponent <CharacterController>().Move(movementVec); } else { movementVec.y = -1; } }
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)); }
public void Jump(PlayerCharacter player) { player.LeaveGround(); movementVec.y = player.jumpSpeed; player.GetComponent <CharacterController>().Move(movementVec); }
public new void HandleUpdate(PlayerCharacter player) { base.HandleUpdate(player); timer--; player.GetComponent <CharacterController>().Move(dashDirection * dashSpeed); }
public void HandleUpdate(PlayerCharacter player) { Flash(player); player.GetComponent <CharacterController>().Move(player.transform.TransformDirection(Vector3.back) * Time.deltaTime * player.bounceback); --timer; }
public void OnExit(PlayerCharacter player) { player.GetComponent <Renderer>().material = normalMat; }