
스테이지 구성은 대강 위와 같이 잡았습니다.
이름은 Model이지만 MonoBevahiour로 설정해 미리 생성된 위치들을 인스펙터를 통해 저장하고 있는 프리팹일 예정입니다.
각 플레이어 스폰 위치
트리거(클리어 트리거, 맞으면 죽는, 기타 등등)
정적 장애물(움직일 일 없는 벽이나 기둥같은)
동적 장애물(이벤트를 통해 움직이거나 등등 변화할 여지가 있는 장애물)
일단 정적 장애물은 타일맵을 사용해 만든 벽이 될텐데 동적 장애물은 어찌 해야 할지 조금 고민입니다.
정적과 별개의 타일맵으로 하자니 개별 수정이 힘들 것 같고, 일반 오브젝트로 하자니 배치가 귀찮을 것 같고.

플레이어포지션, 정적 장애물은 그냥 트랜스폼이랑 오브젝트 그 자체니 클래스로 만들 필요까진 없을 것 같습니다.
트리거 타일은 이름 그대로 트리거 역할이니 Enter/Exit랑 활성화 비활성화만 만듭니다.
동적 장애물은 어찌 써먹을지 좀 애매하네요.
Enum을 신호로 받는 리스너를 구독시킬 예정입니다.
Enum은 이후 필요한 기능, 이벤트가 추가될 때마다 Move, Hide, Active 등 그때그때 확장시키면 편하겠네요.

그럼 스테이지 관련 구조는 이렇게 바뀔 것 같습니다.
프리팹화된 스테이지의 오브젝트들을 저장하고 있는 StageModel을 받아서
StageManager와 ISetupService를 상속중인 다른 SetupService들이 StageModel의 데이터들을 받아 셋업해줘야겠네요.
다음 목표:
진짜 타일맵으로 맵 생성
진짜 클리어 트리거 추가
진짜 적대적 오브젝트 생성
진짜 스테이지 단위 로드 및 생성
진짜 승리/패배 로직
진짜 재시작 추가
'무제_LR' 카테고리의 다른 글
| 스테이지 생성(트리거 타일) (0) | 2025.11.06 |
|---|---|
| 스테이지 생성(타일맵) (0) | 2025.11.06 |
| Addressable 구조 구현, 테이블 적용 (0) | 2025.11.02 |
| 플레이어 MVP (0) | 2025.11.01 |
| 첫 기획 - 구조 잡아보기 (0) | 2025.10.30 |