pyxen.world.get()

Ein Entity nach seinem Namen abrufen.

world.get(*, name=None)

Gibt das erste Entity zurück, das dem gegebenen Namen entspricht.


Grundlegende Verwendung

player = world.get(name="player")

Wenn ein Entity namens "player" existiert, wird es zurückgegeben. Wenn nicht, wird None zurückgegeben.


Parameter

ParameterTypBeschreibung
namestrName des abzurufenden Entity

Der Parameter ist Keyword-only.


Rückgabewert

FallErgebnis
Entity gefundenEntity
Kein TrefferNone

Beispiel

hero = world.spawn(name="player")

found = world.get(name="player")

if found:
    print("Gefunden:", found.name)

Deterministisches Verhalten

Wenn mehrere Entities denselben Namen haben:

world.spawn(name="enemy")
world.spawn(name="enemy")

Dann:

enemy = world.get(name="enemy")

Gibt das Entity mit dem niedrigsten Entity-ID-Index zurück.

Das garantiert:

  • Deterministisches Verhalten
  • Stabile Ergebnisse über Durchläufe hinweg
  • Vorhersagbare Spiellogik

Sicheres Verwendungsmuster

Prüfe immer auf None:

player = world.get(name="player")

if player is not None:
    player.x += 10

Häufige Anwendungsfälle


Auf ein eindeutiges Spieler-Entity zugreifen

player = world.get(name="player")

Auf ein UI-Element zugreifen

score_label = world.get(name="score_label")

Singleton-Entity-Muster

camera = world.get(name="camera")

Entities benennen

Du kannst einen Namen setzen oder ändern:

e.name = "boss"

Oder beim Spawn:

world.spawn(name="boss")

Siehe: pyxen.Entity


Interna

world.get():

  1. Durchsucht die interne Namens-Map
  2. Ruft das Entity mit der niedrigsten ID ab
  3. Gibt einen leichtgewichtigen Entity-Handle zurück
  4. Gibt None zurück, wenn nichts gefunden wird

Namen werden engine-seitig gespeichert.

Python speichert keine Entity-Daten.


Wichtige Hinweise

  • Namen müssen nicht eindeutig sein
  • Die Suche ist deterministisch
  • Langsamer als eine Abfrage mit world.all()
  • Ideal für Singleton-artige Entities

Wann man es nicht verwenden sollte

Vermeide world.get() in engen Schleifen.

Für Massenoperationen bevorzuge:

for e in world.all("enemy"):
    ...

Verwende get() für:

  • Einzelne Entities
  • Bekannte eindeutige Objekte
  • Initialisierungslogik

Zusammenfassung

world.get():

  • Ruft Entities nach Name ab
  • Gibt den ersten Treffer zurück (niedrigste ID)
  • Gibt None zurück, wenn nicht gefunden
  • Deterministisch und sicher

Es ist eine Komfortfunktion für gezielte Suchen in einer ECS-Welt.