pyxen.world.get()
이름으로 엔티티를 조회합니다.
world.get(*, name=None)
주어진 이름과 일치하는 첫 번째 엔티티를 반환합니다.
기본 사용법
player = world.get(name="player")
"player"라는 이름의 엔티티가 존재하면 반환됩니다.
없으면 None이 반환됩니다.
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
name | str | 조회할 엔티티 이름 |
매개변수는 키워드 전용입니다.
반환값
| 경우 | 결과 |
|---|---|
| 엔티티 발견 | 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():
- 내부 이름 맵 검색
- 가장 낮은 ID의 일치 엔티티 조회
- 경량
Entity핸들 반환 - 찾지 못하면
None반환
이름은 엔진 측에 저장됩니다.
Python은 엔티티 데이터를 저장하지 않습니다.
중요 참고
- 이름은 고유하지 않아도 됨
- 조회는 결정적
- world.all() 쿼리보다 느림
- 싱글턴 같은 엔티티에 이상적
사용하지 않아야 할 때
빽빽한 루프에서 world.get() 사용을 피하세요.
대량 작업에는 다음을 선호:
for e in world.all("enemy"):
...
get() 사용 대상:
- 단일 엔티티
- 알려진 고유 오브젝트
- 초기화 로직
요약
world.get():
- 이름으로 엔티티 조회
- 첫 번째 일치 반환 (가장 낮은 ID)
- 찾지 못하면
None반환 - 결정적이고 안전
ECS 월드에서 대상 조회를 위한 편의 유틸리티입니다.