50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
|
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])
|
||
|
|