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ámetroTipoDescripción
namestrNombre de la entidad a recuperar

El parámetro es solo por nombre.


Valor de retorno

CasoResultado
Entidad encontradaEntity
Sin coincidenciaNone

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():

  1. Busca en el mapa interno de nombres
  2. Recupera la entidad coincidente con el ID más bajo
  3. Devuelve un identificador Entity ligero
  4. Devuelve None si 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 None si no se encuentra
  • Determinista y seguro

Es una utilidad de conveniencia para búsquedas dirigidas en un mundo ECS.