Command Pattern is a behavioral design pattern taht turns a request int a stand-alone object that contains all information bout the request.
명령 패턴은 요청에 대한 모든 정보를 포함하는 독립 실행형 개체로 요청을 전환하는 행동 디자인 패턴이다.
플레이어에 대한 로직을 짤 때 초보적인 발상으로 PlayerController에 마구 때려넣는 식으로 코딩을 하는 경우 많다.
예를 들면 PlayerController에 Move()와 Jump(), Attack() 등등의 함수를 구현해놓고 그 안에서 사용한다.
이런 방식이 잘못된 것은 아니지만 결국 유지,보수에 치명적이며, 협업할 시 코드가 너무 많아져서 코드 분석하기가 매우 어려워진다.
따라서 명령 패턴(Command Pattern)을 통해 코드를 명확하게 분리해줘야 하는데 4가지의 핵심 요소를 통해 구성된다.
1. 명령(Command)
- 수신자에 대해 알고 자신에 저장된 값을 사용하여 수신자에서 함수를 호출하는 개체
- ex) ActionBase
2. 수신자(Receiver)
- 명령 개체를 통해 호출된 함수을 수행하는 개체
- ex) PlayerController
3. 호출자(Invoker)
- 명령을 실행하는 방법을 알고 선택적으로 명령 실행에 대한 부기(Bookkeeping)를 수행할 수 있는 개체
- Stack을 통해 Action을 저장함
- ex) ActionRecorder
4. 클라이언트(Client)
- 명령 개체에 할당할 수신기 개체와 호출자에게 할당할 명령을 결정하는 개체
- ex) GameManager
'게임 개발 공부 > Unity' 카테고리의 다른 글
Unity Script에서 HEX(Hexadecimal) 값으로 Color 변환하는 법 (1) | 2024.01.28 |
---|---|
유니티 드로우콜 (0) | 2022.07.08 |
New InputSystem 에서 마우스 스크롤(휠) 값으로 카메라 줌 만들기 (0) | 2022.02.20 |
Cinemachine Free Look Camera 민감도 조절 (0) | 2022.02.20 |
적 케릭터 닷지 회피 구현(Enemy Dodge System) (0) | 2022.01.20 |