참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다.
컴포넌트와 라이브러리 사용에 점점 능숙해지고 있습니다. 문제는 코드가 또 급팽창하여 줄 수가 엄청난다는 것인데요, 이참에 EventData 클래스를 따로 분리하는 게 나을 듯합니다. 각 이벤트마다 EventData를 상속하는 클래스를 생성하여 /walk 명령어에서 특정 메서드를 호출하게끔 만들면 되겠죠. 이러면
• 새로운 이벤트 제작이 편리해집니다. 길가다가 줍는 두 이벤트를 하나로 줄일 수 있듯이요.
• 코드가 다시금 깨끗해집니다. 이벤트 관련 함수들이 모두 다 관련 클래스로 들어갈테니 가독성이 더 오르겠죠.
• 유지보수가 향상됩니다. 각 이벤트 클래스들이 상속할 EventData 클래스에 중첩되는 속성들을 넣어둬서 값을 수정하거나 문제를 고칠 때 막일이 줄어듭니다. 특히 이번에 중첩된 코드들이 많아 눈이 곤욕을 치렀습니다.
위 GIF는 고블린 거래 모습을 녹화한 것입니다. 아이템 버튼을 누른 다음 수량을 선택해서 구매하거나 판매합니다. back를 통해 나갈 수 있습니다. 아이템을 잘못 선택했을 때도 사용이 가능합니다. 코드 블록이 임베드와 컴포넌트 다음으로 게임 외관을 많이 살려줬습니다. 이전 상점 시스템과 비교하자면 엄청날 수준이죠.
컴포넌트는 모든 사람들에게 노출이 되어 터치나 조작이 가능하지만, 수신자가 아닌 타인이 상호작용을 시도하려면 그냥 씹습니다. 서버가 재부팅하거나 액션이 끝나도 버튼이 남아있는 경우가 종종 있는데, 이걸 클릭해도 당연히 무반응입니다. 타인이 자신의 선택지를 조작하면 어쩌나 우려되었는데, 정말 운이 좋았습니다.
이번 일지가 거의 텍스트로 이루어진 건 어찌 보면 당연합니다. 오늘 저것밖에 못 만들었어요. 내일은 임베드가 갑자기 사라지는 버그를 수정하고 위에서 말한 클래스 분리를 한 다음 전투 패배 시 상실 요인(exp, 아이템)을 추가할 생각입니다. 시간이 많이 남으면 도감 시스템과 언어 시스템을 되살릴 계획도 있지만 이건 그다음 날에 예정된 일이라서 무리할 생각은 없습니다.
'프로젝트 > RTTRPG' 카테고리의 다른 글
[RPG 개발] 19일차 (0) | 2022.12.05 |
---|---|
[RPG 개발] 18일차 (0) | 2022.12.05 |
[RPG 개발] 16일차 (0) | 2022.12.05 |
[RPG 개발] 15일차 (0) | 2022.12.05 |
[RPG 개발] 14일차 (0) | 2022.12.05 |