gtn/main.py

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])