[JASS] Removing a unit... twice?

Level 21
Joined
Aug 21, 2005
Messages
3,699
No it doesn't. GroupRemoveUnit removes the unit from the group, RemoveUnit removes the unit from the game. Your loop will bug because you never remove FirstOfGroup() from the group. So what happens is that since the unit is removed from the game, the handle is considered null and you exit the loop before looping through all units in the group.
 
Level 14
Joined
Nov 18, 2007
Messages
815
Thats one good reason to not use RemoveUnit(). It causes Groups to fuck up and slow down by about 50 times (refer to Griffens tests over at wc3c for proofs). Just kill the units and hide them. Let WC3 do the recycling internally. Oh and FirstOfGroup() loops are inefficient. Why not use the boolexpr for that?
 
Level 14
Joined
Nov 18, 2007
Messages
815
Using a boolexpr takes (5/6) of the time it takes with a FirstOfGroup() loop (when only passing a struct (integer)). This is a rough estimate, in reality its slightly faster (_slightly_; 0.01-0.03 should be enough).
 
Top