from ecs import World, Entity # 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 d'une entité david = Entity(world) david[Name] = Name("David") david[Age] = Age(25) # Création d'une autre entité fred = Entity(world) fred[Name] = Name("Fred") fred[Age] = Age(30) # Création d'une autre entité paul_sans_age = Entity(world) paul_sans_age[Name] = Name("Paul") # Création d'une autre entité age_tout_cour = Entity(world) age_tout_cour[Age] = Age(14) 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]) 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])