fix: rocket launcher projectile update: now all weapons are ready to shoot at start
26 lines
738 B
C#
26 lines
738 B
C#
using UnityEngine;
|
|
|
|
public class Rifle : Weapon
|
|
{
|
|
public GameObject projectilePrefab;
|
|
public Transform spawnPosition;
|
|
public float fireRate = 3f;
|
|
|
|
[SerializeField] float currentDelay = 0;
|
|
|
|
public override void Shoot(bool keyDown, bool keyHold) {
|
|
if (keyHold && (fireRate == 0 || currentDelay >= 1 / fireRate) && GameController.i.ConsumeBullet(bulletType)) {
|
|
Instantiate(projectilePrefab, spawnPosition.position, spawnPosition.rotation);
|
|
currentDelay = 0;
|
|
}
|
|
}
|
|
|
|
void Start() {
|
|
if (fireRate != 0) currentDelay = 1 / fireRate;
|
|
}
|
|
|
|
void Update() {
|
|
if (fireRate != 0) currentDelay = Mathf.Clamp(currentDelay += Time.deltaTime, 0, 1 / fireRate);
|
|
}
|
|
}
|