pyxen.world.get()

이름으로 엔티티를 조회합니다.

world.get(*, name=None)

주어진 이름과 일치하는 첫 번째 엔티티를 반환합니다.


기본 사용법

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

"player"라는 이름의 엔티티가 존재하면 반환됩니다. 없으면 None이 반환됩니다.


매개변수

매개변수타입설명
namestr조회할 엔티티 이름

매개변수는 키워드 전용입니다.


반환값

경우결과
엔티티 발견Entity
일치 없음None

예시

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

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

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

결정적 동작

같은 이름을 가진 엔티티가 여러 개이면:

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

그러면:

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

가장 낮은 엔티티 ID 인덱스를 가진 엔티티를 반환합니다.

보장:

  • 결정적 동작
  • 실행 간 안정적 결과
  • 예측 가능한 게임플레이 로직

안전한 사용 패턴

항상 None을 확인하세요:

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

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

일반적인 사용 사례


고유 플레이어 엔티티 접근

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

UI 요소 접근

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

싱글턴 엔티티 패턴

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

엔티티 이름 지정

이름을 설정하거나 변경할 수 있습니다:

e.name = "boss"

또는 생성 시:

world.spawn(name="boss")

참조: pyxen.Entity


내부

world.get():

  1. 내부 이름 맵 검색
  2. 가장 낮은 ID의 일치 엔티티 조회
  3. 경량 Entity 핸들 반환
  4. 찾지 못하면 None 반환

이름은 엔진 측에 저장됩니다.

Python은 엔티티 데이터를 저장하지 않습니다.


중요 참고

  • 이름은 고유하지 않아도 됨
  • 조회는 결정적
  • world.all() 쿼리보다 느림
  • 싱글턴 같은 엔티티에 이상적

사용하지 않아야 할 때

빽빽한 루프에서 world.get() 사용을 피하세요.

대량 작업에는 다음을 선호:

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

get() 사용 대상:

  • 단일 엔티티
  • 알려진 고유 오브젝트
  • 초기화 로직

요약

world.get():

  • 이름으로 엔티티 조회
  • 첫 번째 일치 반환 (가장 낮은 ID)
  • 찾지 못하면 None 반환
  • 결정적이고 안전

ECS 월드에서 대상 조회를 위한 편의 유틸리티입니다.