본문 바로가기
유니티5 독학 & 게임 제작

디자인 패턴 공부 - 명령패턴의 학습 -2-

by 인터넷떠돌이 2024. 2. 14.
반응형

안녕하세요?

 

지난 포스팅에서 어떻게 명령 패턴을 익히는데 클래스의 상속과 그에 따른 일종의 변형에 대해서 공부를 해 보았는데, 본격적으로 이런 것을 바탕으로 해서 어떻게 하나하나 명령 패턴에 대해서 익혀야 하는 것이 많이 있기는 있습니다. 일단 이를 익혀 보기 위해서 계속해서 실습을 해 보고자 합니다.

 

 

일단 지난번에는 단순히 명령이라는 Command와 이 명령을 실행하는 PrintCommand라는 클래스만 있었지만, 실제로 게임을 만들게 되면, 이 명령을 받고서 실행할 무언가가 있어야 합니다. 이 무언가에 대해서는 일단 여기서는 플레이어라고 하고, 먼저 PlayerOne이라는 클래스를 만들어 주도록 합니다. 여기에는 수행할 기능이 킥과 펀치가 있다고 하고, 각각 받는가에 따라서 일단 콘솔에 해당하는 문구를 출력할 수 있도록 해 줍니다.

 

 

그리고 나서 Command 클래스를 상속받아 사용이 가능한 PlayerCommand라고 해서, 플레이어에게 적용될 수 있는 명령을 하나하나 입력할 수 있도록 전달하는 역할이라고 해야 할까요? 이런 역할을 할 수 있는 클래스를 만들어 주도록 합니다.

 

 

그리고 나서 Main에 가서는 먼저 public으로 선언이 되어 있는 리스트에 명령을 Add명령어를 이용해서 하나하나 입력해 주도록 합니다. 그리고 나서 execute명령어에 가서는 한번 선언되어 있는 명령어를 문자열로 입력해 주도록 합니다만, 문제가 있습니다. 여기서 입력한 문자열은 실제로는 적용이 되지 않는다는 것 입니다.

 

 

일단 이렇게 해서 PlayerOne이라고 하는 플레이어에게 발차기를 두번하고 주먹을 한번 날리라는 명령어를 날리는 명령패턴을 하나 익히기는 했습니다만, 문제가 있습니다. 여기서는 플레이어라는 실행주체를 정해 놓았습니다만, 이게 다른 NPC에게 명령을 내릴 때는 문제가 되기는 됩니다. 이럴때를 위해서 플레이어를 지정해서 명령을 내리는 패턴으로 바꾸어 주도록 했습니다만, 이게 상당히 애를 먹는 일이 될 줄은 몰랐습니다.

반응형