void CheckFire(Vector3 objectToTarget) { // If target is on the nose and within range if ((Vector2.Angle(objectToTarget, transform.forward) < 10f) && (objectToTarget.magnitude < weapon.Range())) { // If object can see target if (IsVisible(objectToTarget)) { if (!firing) { weapon.StartFire(); firing = true; } else { weapon.FireWeapon(new Ray(transform.position, transform.forward)); } } } else if (firing) { weapon.StopFire(); firing = false; } }
// Update is called once per frame void Update() { //Debug.DrawRay (transform.position, (Quaternion.Euler(0f, 0f, 15f)*transform.forward), Color.red); if (!inMenu) { // Turn left and right transform.Rotate(Vector3.up * Input.GetAxis("Horizontal") * rotateSpeed); // Fire Thrusters if (Input.GetButton("Fire1")) { FireThrusters(); } else { StopThrusters(); } // Hover Mode if (Input.GetButtonDown("Fire3")) { rigidbody.useGravity = !rigidbody.useGravity; Debug.Log("Gravity off!"); } // Fire Guns if (Input.GetButtonDown("Fire2")) { weapon.StartFire(); } else if (Input.GetButton("Fire2")) { weapon.FireWeapon(new Ray(transform.position, transform.forward)); } if (Input.GetButtonUp("Fire2")) { weapon.StopFire(); } } //Clamp Max Speed rigidbody.velocity = Vector3.ClampMagnitude(rigidbody.velocity, maxSpeed); healthSlider.value = health; }
public void FireWeapon(Vector3 position, Vector3 lookingAt) { weapon.FireWeapon(position, lookingAt); }
void HandleShoot() { Weapon.FireWeapon(transform); }