How do I get my weapon to stop firing if the ammo <= 0
void Update () {
if (Input.GetButton("Fire1"))
{
//if ammo <= 0 then the weapon can't fire.*************************************
// create a new projectile in the world
GameObject projectileLazerInstance = GameObject.Instantiate(ProjectileLazer);
//Position the lazer below the player
Vector3 newLocation = transform.position - transform.up * ProjectileOffset;
projectileLazerInstance.transform.position = newLocation;
//Fire the lazer
Rigidbody projectileLazerRB = projectileLazerInstance.GetComponent<Rigidbody>();
projectileLazerRB.AddForce(transform.forward * ProjectileForce);
}
Answer by Green_UK · Aug 15, 2016 at 12:49 PM
I'd suggest looking at some basic c# tutorials to understand the logic. TutorialsPoint runs a great gig. http://www.tutorialspoint.com/csharp/
But here is your solution, the return keyword will make the compiler jump back up to the top of the function without executing the rest of the function.
if(ammo <= 0)
return; // Skips the rest of the code
Let me know if it didn't work / You need further Help
Thank you, it works perfectly.
Looked at the C# tutorials you recommended and managed to get the ammo to count down by 1 each time the weapon was fired, I'll be using those tutorials from now on.
Your answer
Follow this Question
Related Questions
If an integer ends with an 1. 1 Answer
How to reference a GameObjects Box Collider true in a if statement! 2 Answers
Help me with text array. 1 Answer
How can i make an if statement fire only when the player doesn't hit a button? 1 Answer
Way of Finding/accessing a variable from another script though another variable? 1 Answer