pyxen.world.get()
Recupera una entidad por su nombre.
world.get(*, name=None)
Devuelve la primera entidad que coincida con el nombre dado.
Uso básico
player = world.get(name="player")
Si existe una entidad llamada "player", se devuelve.
Si no, se devuelve None.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
name | str | Nombre de la entidad a recuperar |
El parámetro es solo por nombre.
Valor de retorno
| Caso | Resultado |
|---|---|
| Entidad encontrada | Entity |
| Sin coincidencia | None |
Ejemplo
hero = world.spawn(name="player")
found = world.get(name="player")
if found:
print("Found:", found.name)
Comportamiento determinista
Si múltiples entidades comparten el mismo nombre:
world.spawn(name="enemy")
world.spawn(name="enemy")
Entonces:
enemy = world.get(name="enemy")
Devuelve la entidad con el índice de ID de entidad más bajo.
Esto garantiza:
- Comportamiento determinista
- Resultados estables entre ejecuciones
- Lógica de juego predecible
Patrón de uso seguro
Siempre comprueba si es None:
player = world.get(name="player")
if player is not None:
player.x += 10
Casos de uso comunes
Acceder a una entidad de jugador única
player = world.get(name="player")
Acceder a un elemento de UI
score_label = world.get(name="score_label")
Patrón de entidad singleton
camera = world.get(name="camera")
Nombrar entidades
Puedes establecer o cambiar un nombre:
e.name = "boss"
O durante spawn:
world.spawn(name="boss")
Ver: pyxen.Entity
Funcionamiento interno
world.get():
- Busca en el mapa interno de nombres
- Recupera la entidad coincidente con el ID más bajo
- Devuelve un identificador
Entityligero - Devuelve
Nonesi no se encuentra
Los nombres se almacenan en el lado del motor.
Python no almacena datos de entidades.
Notas importantes
- Los nombres no necesitan ser únicos
- La búsqueda es determinista
- Más lento que una consulta con world.all()
- Ideal para entidades tipo singleton
Cuándo no usarlo
Evita usar world.get() en bucles intensivos.
Para operaciones masivas, prefiere:
for e in world.all("enemy"):
...
Usa get() para:
- Entidades individuales
- Objetos conocidos como únicos
- Lógica de inicialización
Resumen
world.get():
- Recupera entidades por nombre
- Devuelve la primera coincidencia (ID más bajo)
- Devuelve
Nonesi no se encuentra - Determinista y seguro
Es una utilidad de conveniencia para búsquedas dirigidas en un mundo ECS.