void Update() { // fire rate if (Time.time < rateLock || !bullet) { return; } // keep the button down, like a machine gun. if (Input.GetMouseButton(mouseCode)) { // mouse direction to shoot. Vector3 fireDirection = MotionUtility.GetMouseDirectionFrom(transform); // bullet creation Transform fireBullet = Instantiate(bullet, transform.position, Quaternion.identity) as Transform; // connect with bullet stabilizer to apply the impulse. BulletStabilizer stab = fireBullet.GetComponent <BulletStabilizer>(); if (!stab) { // the bullet stabilizer is required. return; } stab.layer = layer; stab.direction = fireDirection; stab.impulse = impulse; // fire rate lock rateLock = Time.time + fireRate; } }
/// <summary> /// Impulses the transform into mouse. /// </summary> void ImpulseIntoMouse() { ImpulseIntoMouse(MotionUtility.GetMouseDirectionFrom(transform).x, MotionUtility.GetMouseDirectionFrom(transform).y, impulse); }