private void fireAnyLaserGun(ProjectileBehaviourScript.BulletTypes LaserToFire) { if (cooldownTimeStamp <= Time.time) { if (Input.GetButtonDown("Fire1")) { pressedButtonDown = true; loadTimeStamp = Time.time + loadTime; isReady = true; } if (loadTimeStamp >= Time.time) { if (isReady == true) { Debug.Log("Loading"); } } if (loadTimeStamp <= Time.time) { if (isReady == true) { Instantiate(ObjectHolder._Effects[ObjectHolder.GetEffectIndex(EffectBehaviourScript.EffectTypes.LaserLoaded)], transform.position, transform.rotation, transform); isReady = false; } } if (pressedButtonDown == true) { if (Input.GetButtonUp("Fire1")) { if (loadTimeStamp <= Time.time) { Instantiate(Bullets[ObjectHolder.GetBulletIndex(LaserToFire)], transform.position, transform.rotation, this.transform); loadTimeStamp = Time.time + loadTime; cooldownTimeStamp = Time.time + cooldown; //Apply cooldown when firered } else { loadTimeStamp = Time.time + loadTime; //no cooldown wehen reset Debug.Log("reset"); } isReady = false; pressedButtonDown = false; } } } }
public static int GetBulletIndex(ProjectileBehaviourScript.BulletTypes _bulletType) { int i = 0; foreach (GameObject go in _Bullets) { if (go != null) { if (go.GetComponentInChildren <ProjectileBehaviourScript>().bulletType == _bulletType) { return(i); } } i++; } Debug.LogError("Could not find: " + _bulletType); return(-1); }