지금까지 구현했던 내용들을 언리얼 내부의 Controller
와 GameMode
를 통해 리팩토링한다.
키입력이나 이동 로직 등을 기본 Player Controller
를 상속받아서 커스텀한다.
(로직을 한군데서 관리하지 않고 분리하기 위함)
기존 BP_Knight
에 있던 Update Input
함수를 커스텀 PlayerController인 BP_PlayerController
로 옮긴다.
사용하던 State
와 Dir
은
MyPlayer
변수로 저장해서 가져다 사용한다.
PlayerStart
를 월드에 배치해주면, 캐릭터를 미리 만들어두지 않아도 해당 위치에 자동으로 생성된다.
(👉 수동으로 Player 0
으로 지정하지 않아도 알아서 플레이할 캐릭터로 타케팅 됨)
코드가 너무 길어져서 일부만.. 크롭하자면 위의 BP_PlayerController
때와 마찬가지로
MyMonster
라는 변수로 따로 저장한 후, 해당 변수에서 Get/Set 해서 사용하는 방식으로 변경했다.
커스텀으로 생성한 컨트롤러와 게임모드로 잘 변경된 모습이다.
물론 구현 내용 역시 제대로 동작한다.