- Home /
Question by
TheShadyColombian · Oct 28, 2014 at 05:20 PM ·
variabletimer
variable reset not working.
i'm having a bit of a stupid problem, maybe someone can notice something i haven't. whenever i shoot a bullet, i want the timer to reset whenever I shoot, but its not working.
using UnityEngine;
using System.Collections;
public class ExperimentalMachineGun : MonoBehaviour {
public Animator Fire;
public AudioClip MinigunFire;
public float ProjectileSpeed; // Reference to the player's animator component.
public float rateOfFire;
public bool UseTouchControl;
public bool JoystickIsTapped;
public GameObject Flame;
public GameObject BarrelTip;
public GameObject primaryProjectile;
public GameObject ShootJoystick;
public GameObject TestEnemyRaycast;
public ExperimentalDeath PlayerScript;
public JoystickControl JoystickControlScript;
public ParticleSystem Particles;
public float rateOfFireTimer = 0.0f;
void Start () {
Fire = GameObject.Find ("CurrentWeapon").GetComponentInChildren<Animator> ();
JoystickControlScript = GameObject.Find ("MonstercatCharBase").GetComponent<JoystickControl> ();
Particles = GetComponent<ParticleSystem>();
BarrelTip = GameObject.Find("BarrelTip");
}
//private bool isFiring = false
void Update () {
PlayerScript = GameObject.FindGameObjectWithTag("Player").GetComponentInChildren<ExperimentalDeath> ();
if (ShootJoystick.GetComponent<Joystick> ().tapCount > 0){
JoystickIsTapped = true;
} else {
JoystickIsTapped = false;
}
//this is a counter that tells you the time in seconds from the last projectile fired
rateOfFireTimer += Time.deltaTime;
if (UseTouchControl == false) {
//Fire Primary Weapon. I do (1/rateOfFire) so that you can enter a number like 10 in the inspector to mean 10 per second
if (rateOfFireTimer >= rateOfFire) {
if(Input.GetKey (KeyCode.Mouse0)){
FirePrimaryWeapon ();
PlayerScript.Shooting = true;
Fire.SetBool ("Fire", true);
} else {
PlayerScript.Shooting = false;
Fire.SetBool ("Fire", false);
}
}
}
if (UseTouchControl == true && JoystickIsTapped == true){
if(JoystickIsTapped == true){
rateOfFireTimer = 0;
FirePrimaryWeapon ();
PlayerScript.Shooting = true;
Fire.SetBool ("Fire", true);
} else {
PlayerScript.Shooting = false;
Fire.SetBool ("Fire", false);
}
}
}
void FirePrimaryWeapon() {
PlayerScript.Shooting = true;
Fire.SetBool ("Fire", true);
//Particles;
//this fires the projectile
Instantiate (primaryProjectile, transform.position , transform.rotation);
Instantiate (Flame, BarrelTip.transform.position, transform.rotation);
//this plays the sound
//AudioSource.PlayClipAtPoint(MinigunFire, transform.position);
//this resets the timer
rateOfFireTimer = 0.0f;
}
}
Comment
Your answer
Follow this Question
Related Questions
How to make a variable decrease every five seconds? 3 Answers
how to make a varied countdown timer 1 Answer
Why is my timer reseting itself? 0 Answers
Game Time with variable count speed 1 Answer