package EntityManagement import public Entity import Buff function updateActiveEntities() let activeItr = Entity.iterator() for e from activeItr if not e.done e.update() activeItr.close() function updateInactiveEntities() var e = Entity.firstInactive while e != null e.slowUpdate() e = e.next function updateBuffs() let buffItr = Buff.iterator() for b from buffItr if not b.done b.update() buffItr.close() public function startEntityLoop() returns boolean getTimer().startPeriodic(ANIMATION_PERIOD, function updateActiveEntities) getTimer().startPeriodic(BUFF_ANIM_PERIOD, function updateBuffs) getTimer().startPeriodic(1.0, function updateInactiveEntities) // Remove buffs when unit leaves the map onUnitDeindex() -> let e = getIndexingUnit().getEntity() if e != null e.terminate() return true