유니티 엔진을 이용해 다음 기능을 수행할 수 있는 커스텀 에디터를 구현하였다.
커맨드 패턴을 이용해 에디팅 히스토리 시스템을 구현했다.
각 에디팅 대상에 대한 정보를 콘크리트 커맨드에 입력하고,
이를 커맨드 매니저에 저장 및 불러오기 하는 시스템이다.
유니티에서 스크립트를 이용해 터레인을 에디팅하는 기능을 구현하였다.
유니티는 터레인 데이터를 높이, 텍스처 등등으로 나누어 각각 배열로 저장해두는데
이에 접근하여 터레인을 스크립트를 이용해 플레이모드에서도 에디팅할 수 있다.
오브젝트 생성/삭제/트랜스폼 에디팅을 구현하였다.
오브젝트 에디팅의 확장성을 위해 컴포넌트 시스템 또한 구현하였다.
트랜스폼은 컴포넌트 시스템을 바탕으로 구현하였다.
프로젝트 특성상 파일 시스과 직렬화, 데이터 구조 정립 및 사용 방식을 많이 고민했고, 여러 방법을 시도해 보았다.
또한 인터페이스와 형변환을 많이 사용하여 이와 관련해 코드 확장성을 넓히는 방식 또한 많이 고안하였다.
이를 이용해 터레인, 오브젝트, 컴포넌트의 데이터 생성/삭제/저장/불러오기 작업을 구현하였다.
지금까지 프로젝트들을 수행하면서 얻은 지식들을 정리할 수 있는 프로젝트였다.