from ecs import World # Création de composants pouvant être ajouté a des entitées class Name(str): pass class Age(int): pass # Création d'un monde world = World() # Création de plusieurs entités david = world.create_entity(Name("David"), Age(25)) fred = world.create_entity(Name("Fred"), Age(30)) paul_sans_age = world.create_entity(Name("Paul")) age_tout_cour = world.create_entity(Age(14)) # On applique les moddifications world.apply() print("Récupération de toutes les entitées qui ont un nom") for entity in world.query(Name): print(entity[Name]) print("Récupération de toutes les entitées qui ont un age") for entity in world.query(Age): print(entity[Age]) # On change l'age de Fred fred.set(Age(45)) # On applique les moddifications world.apply() print("Récupération de toutes les entités qui ont un nom et un age") for entity in world.query(Name, Age): print(entity[Name], entity[Age]) print("Récupération de toutes les entitées qui ont un nom mais pas d'age") for entity in world.query(Name, without=(Age,)): print(entity[Name]) print("Récupération de toutes les entités qui ont un age mais pas de nom") for entity in world.query(Age, without=(Name,)): print(entity[Age]) print("Récupération de toutes les entités") for entity in world.query(): if Name in entity: print(entity[Name], end=" ") if Age in entity: print(entity[Age], end=" ") print()