You could just add to a counter when a fire is created and subtract from a counter when the fire is destroyed and when that counter hits 0 you set the boolean to false. You can use different global variables for different fires, so if fire type A occurs add 1 to firetypeA, fire type A destroyed subtract 1 from firetypeA and for fire type B add/subtract 1 to firetypeB etc. Because the variable starts at 0 you could set up a separate variable that triggers, fireStarted when the counter hits 1, so you know to check if a fire has stopped only when it has started, you can then toggle fireStarted off when counter hits 0. That's the way I would do it anyway rather than comparing to see if a particular icon is on screen, variables seem safer.