2023. 2. 24. 10:46ㆍDIY/[개발 중][MSW] 모험가 키우기
모험가 키우기는 스테이지로 구성된 지역을 클리어해나가는
방치형 게임이다.
현재 스테이지의 모든 몬스터를 처치하면 자동으로 다음 스테이지로
넘어가도록 할 예정이다.
그래서 정해진 동선대로 자동 이동을 하도록 맵 곳곳에 트리거들을 배치했다.
이 트리거들은 플레이어가 닿으면 그 플레이어에게 이벤트를 보내
그 트리거에 해당하는 동작을 수행한다.
해당 동작은 StateChangeEvent를 보내 실행되며,
자동 이동은 MovementComponent의 MoveToDirection 함수로 수행한다.
사다리나 로프 동작은 RigidbodyComponent의 AttachTo 함수를 사용하고,
사다리 또는 로프 엔티티에 이벤트를 보내서 사다리 또는 로프가 임의의 방향으로
tween하도록 해서 플레이어가 사다리 또는 로프를 타고 이동하는 연출을 하였다.
사다리 또는 로프의 종착지점에는 트리거를 설치해 해당 트리거에 닿으면
Rigidbody의 Detach 함수로 사다리 또는 로프에 부착돼있던 캐릭터를 떼어낸다.
그리고 다음 스테이지 지점에 도달하면 스테이지를 전환한다.
스테이지가 전환되면 곧 전투에 돌입하도록
자동 이동 중단, 카메라 전환,
그리고 BattleManager의 전투돌입함수 호출을 수행한다.
전투가 종료되면
자동 이동 재개, 카메라 복귀를 수행한다.
카메라 전환은 CameraService의 SwitchCameraTo 함수를 이용했다.
전투에 돌입하기 전, 몬스터를 스폰해야 한다.
몬스터 스폰은 스테이지 간 자동 이동 중에
플레이어 캐릭터가 몬스터 스폰 트리거를 건드리면
해당 트리거에 담겨 있던 스테이지 정보를 얻게 되고,
그 정보를 BattleManager의 SpawnMonsters 함수의 인자로 넘긴다.
BattleManager는 그 스테이지 정보를 통해 현재 스테이지에 스폰할
몬스터들의 종류, 수 등등을 MapMonsterStageInfoList에서 얻어와서 실제 맵에 스폰시킨다.
스폰시킬 위치는 트리거 엔티티의 위치 정보를 기반으로
그 근처 +- 2.5m 근처 랜덤 지점에 스폰시킨다.
'DIY > [개발 중][MSW] 모험가 키우기' 카테고리의 다른 글
[MSW] 모험가 키우기 - 7 (수치 설정, 스킬시스템 개편) (0) | 2023.02.17 |
---|---|
[MSW] 모험가 키우기 - 6 (프로토타입을 위한 전투씬 연출) (0) | 2023.02.11 |
[MSW] 모험가 키우기 -5 (전투 시스템 - 공격과 피격) (0) | 2023.01.23 |
[MSW] 모험가 키우기 - 4 (스킬시스템 구조 설계) (1) | 2023.01.05 |
[MSW] 모험가 키우기 - 3 (프로토타입을 위한 기본 환경 구성) (0) | 2022.12.26 |