// Update is called once per frame void Update() { InventoryFirst invfi = Inv.GetComponent <InventoryFirst>(); int New_Ammo = invfi.Ammo; if (Input.GetButtonDown("Fire1") && New_Ammo > 0) { print(New_Ammo); if (shotsFired < 4) { if (Time.timeSinceLevelLoad - lastShot > shotTimeout) { Fire(); shotsFired++; invfi.Ammo -= 1; } } else { if (Time.timeSinceLevelLoad - lastShot > reloadTime) { Fire(); shotsFired = 1; invfi.Ammo -= 1; } } } }
void Shoot() { InventoryFirst invfi = Inv.GetComponent <InventoryFirst>(); if (invfi.Hydrogen > 0) { if (Time.timeSinceLevelLoad - lastUse >= timePerOne) { lastUse = Time.timeSinceLevelLoad; invfi.Hydrogen -= 1; } RaycastHit hit; laser.GetComponent <MeshRenderer>().enabled = true; if (Physics.Raycast(tracker.transform.position, tracker.transform.forward, out hit, range)) { if (hit.transform.tag == "enemy") { hit.transform.GetComponent <EnemyHealth>().Damage(damage); } } } else { laser.GetComponent <MeshRenderer>().enabled = false; } }