def check_clear(self, dt): systems = self.gameworld.systems systems_to_check = ['rabbit_system', 'hawk_ai_system', 'environment_system'] num_entities = 0 self.check_clear_counter = 0 for system in systems_to_check: num_entities += len(systems[system].entity_ids) if num_entities > 0: self.check_clear_counter += 1 if self.check_clear_counter > 10: self.clear_gameworld_objects() Clock.schedule_once(self.check_clear, .01) else: self.cleared = True self.generate_next_level(dt)
def clear_objects(self): for entity_id in self.entity_ids: Clock.schedule_once(partial(self.gameworld.timed_remove_entity, entity_id))
def clear_level(self, dt): self.gameworld.parent.state = 'pause' self.clear_gameworld_objects() self.cleared = False Clock.schedule_once(self.check_clear)