[[TableOfContents]]

== 개요 ==
 * 게임 플레이 도중 이용되는 콘솔 모드를 구현합니다.

== 진행 상황 ==
=== 7월 7일 이전 ===
 * 최대한 실제 콘솔 창과 비슷하게 구현하는 것을 목표로 합니다.
 * UI 모델은 리눅스 혹은 파이썬으로 잡았습니다. 사실 어떻게 보면 의미는 없습니다(....)
 * 천천히 구현해 나가고 있기는 한데, 몇 가지 문제점 때문에 약간 난항을 겪고있습니다.
  * 어떻게 유저가 수정 가능한 UI Text를 제작할 것인가.
  * 위 역시 문제긴 문제지만 사실 가장 큰 문제는 스크롤바 재현에 있습니다.
 * 7월 9일까지 문제점 해결을 목표로 합니다.
 * ~~나머진 기밀이닷!~~
  * ...이 아니라 그냥 정말 콘솔이에요. 흔하게 쓰는 콘솔.
=== 7월 7일 ~ 7월 9일 ===
 * '''1차로 갈아엎었습니다.'''
  * 어째 이러면서 설계해놓은 것도 같이 엎어진 것 같지만... ~~에라 모르겠다...~~
 * 그래도 예전보단 낫습니다.
 * 사용자로부터 입력받고, 출력하는 것까지 완성했습니다.
  * 다만, 말할 수 없는 사정상(...) 입력하는 것에 제한을 둔 것이 조금 있습니다...
 * 스크롤바는 넣을까 말까 고민하다가 아직은 필요없는 것 같아 보류중입니다.
 * 지금 생각해보니 까만 콘솔 화면이 가장 간단한 것 같기도 하고 아닌 것 같기도 하고...
  * 사실 지금 폰트가 조금 마음에 안든다고 합니다.

=== 7월 11일 새벽 ===
 * 폴더 구현하면서 어떻게 해야하는지 고민
 * 그래서 잠시 회의했습니다.
 * 구성요소가 겹치는 아이템들을 item 클래스를 상속받아서 하는 것으로 함
 * 새로 얻은 아이템을 따로 표시해주는건 고려해보기로 함
 * 폴더 - 하위폴더/상위폴더/이름/엑세스 여부/아이템 리스트 라는 멤버를 만들기로 함 이로써 문제는 일단락될듯
 * 앞으로는 만들어나가면서 추가하기로 했습니다. 애초에 안만들면 어찌해야되는지 감도 안잡히고....

=== 7월 10일 ~ 7월 13일 ===
 * 아이 라이브러리에 새벽에 회의한 내용을 전부 구현시켰습니다.
  * ~~클래스 구조는 장담할 수 없어요.~~
 * 세가지의 명령어를 구현했습니다.
 * 메서드 하나가 지나치게 길어져서, 이리저리 생각해보고 있지만... 모르겠습니다.
 * 콘솔에서 구현해야 하는건 거의 다 구현한 듯 싶습니다.
 * 스크롤바를 대체할 방법을 슬쩍슬쩍 생각해보고 있습니다.

=== 7월 14일 ~ 7월 17일 ===
 * Open 명령을 조금 더 구체적으로 구현 (파일 열기!)
 * 200줄이 넘어가는 메서드를 차마 볼 수가 없었던 나머지, 수행부분에서 조건 검사 부분은 다른 정적 클래스에서 담당하도록 빼버리고 순수하게 수행만 할 수 있는 구조로 분해했습니다.
  * ~~그래도 길어요... 쿨럭쿨럭~~
 * 바탕에 희미하게 조명을 추가했습니다. 이것이 조명의 힘이군요!
 * 고려해야 할 사항 - 획득한 아이템에 대해서만 Import 허용하기
 * 기존 Dir 명령어를 좀 더 알기 쉽게 moveDir argument / showDir로 분해했습니다.
 * 폴더가 색상을 지원합니다!
 * 사운드 효과를 내고 싶긴 한데, 인터넷 상에서 적절한 소스를 찾기가 힘드네요. 있어도 사용 허락 과정이 복잡하고..

=== 7월 18일 ~ 7월 20일 ===
 * ~~월차 내고 휴가갔습니다.~~

=== 7월 21일 ~ 7월 24일 ===
 * 3가지의 명령어를 구현. (아직 정해진 사항이 없는 것이 많아서 명령어 인식만 하도록 구현했습니다.)
 * 인트로를 구현했습니다.
  * 저장 파일이 있을 때/없을 때로 구분하는 건 나중에 해야할 것 같네요.
 * Main과 Console을 연동시켰습니다.
 * 타이핑 효과를 Random/Non-Random으로 나눌 수 있도록 했습니다.
 * 타이핑 효과 출력 시 색상 출력/볼드 + 이텔릭체가 가능해졌습니다.

=== 7월 29일 ~ 8월 1일 ===
 * '''2차로 갈아엎었습니다.'''
  * 리팩토링 과정을 거쳤습니다.
   * ~~사실 이게 제일 큰 작업이었다고 합니다.~~
   * 도중에 되던게 안되서 난리도 아니었습니다... 휴우...
 * ~~MonoBehavior가 영 좋지 않음을 깨달았습니다.~~
 * 사용할 메시지를 가져올 때 다른 방법을 사용해볼까 고민중입니다.

== 8월 1일 ~ 10월 11일 ==
 * 명령어 처리 방식을 약간 변경했습니다.
 * 명령어 실행시마다 개행문자가 한 개씩 더 나오는 현상을 없앴습니다.
 * 콘솔에서 메인으로의 이벤트 발생시키는 것이 가능해졌습니다.
 * GUI를 설정하는 명령어에 대한 메시지 처리를 다듬었습니다.
 * ~~이제 와서는 왜 명령어 처리를 리스너 형식으로 하지 않았을까 생각합니다.~~
 * 명령어 로그를 위로 올리는 방식에 문제가 있어서 해결이 필요합니다.
-------------------------------------------------------------------------------------
[Project_AI]