void Shoot() { GameObject laser = Instantiate(laserPrefab, laserSpawnTransform.position, laserSpawnTransform.rotation); LaserObject laserObject = laser.GetComponent <LaserObject>(); laserObject.Initialize(gameObject.tag, laserSpeed, laserLength, laserDamage, laserColor); }
// Update is called once per frame void Update() { // shoot input buffer if (Input.GetButtonDown("Fire1")) { shootInput = true; shootInputTimer = 0.0f; } else { shootInputTimer += Time.deltaTime; if (shootInputTimer > shootInputBuffer) { shootInput = false; } } // shoot and set shooting to true if input and not currently shooting if (shootInput && isShooting == false) { Shoot(); isShooting = true; } // wait a delay before you can shoot again if (isShooting) { shotTimer += Time.deltaTime; if (shotTimer > shotDelay) { shotTimer = 0.0f; isShooting = false; } } void Shoot() { GameObject laser = Instantiate(laserPrefab, laserSpawnTransform.position, laserSpawnTransform.rotation); LaserObject laserObject = laser.GetComponent <LaserObject>(); laserObject.Initialize(gameObject.tag, laserSpeed, laserLength, laserDamage, laserColor); } }