WIP: ECS / Network System #1

Draft
simponic wants to merge 13 commits from websockets into main
2 changed files with 10 additions and 8 deletions
Showing only changes of commit b144ad5df7 - Show all commits

View File

@ -57,11 +57,13 @@ class EntityManager:
self.component_entities[component.component_type].add(entity)
def remove_entity(self, entity_id: str) -> None:
if entity_id in self.entities:
entity = self.entities[entity_id]
for component in entity.components.values():
if component.component_type in self.component_entities:
self.component_entities[component.component_type].remove(entity)
if entity_id not in self.entities:
return
entity = self.entities[entity_id]
for component in entity.components.values():
if component.component_type in self.component_entities:
self.component_entities[component.component_type].remove(entity)
del self.entities[entity_id]
def get_entity(self, entity_id: str) -> Optional[Entity]:
return self.entities.get(entity_id)

View File

@ -42,9 +42,9 @@ class Game:
self.last_time = current_time
await self.update(delta_time)
await asyncio.sleep(
max(self.min_time_step - (time.time() - current_time), 0)
)
sleep_time = max(self.min_time_step - (time.time() - current_time), 0)
if sleep_time > 0:
await asyncio.sleep(sleep_time)
steps_since_log += 1