오늘도 상태가 안좋아서 좀 졸았는데 다행히 뭔가 진행이 되면서 조금 풀린다는 느낌을 받았습니다.
오늘은 간단하게 버튼에 Panel 변경 이벤트를 붙이고, 플랫폼상에서 필요로 하는 UI 대부분을 생성하였습니다.
이전에 Panel 변경이 잘 되지 않았는데, 이는 변경 방식의 문제가 아니라 Panel을 찾는 탐색 방식이 잘못되어서였습니다.
계층 구조를 가지고 있으면 부모 개체에서 탐색을 해야 되더군요.
Panel 변경을 하고, 필요한 UI를 생성 한 뒤에는 스크립트 구조에 대해 조금 고민을 했습니다.
FindSession을 제외하고, MainMenu와 Session 부분에서 공통적으로 요구되는 기능이 있었습니다.
하나는 파일을 읽는 것. 다른 하나는 버튼에 따라 이벤트가 여러 개 발생하는 것입니다.
공통적으로 이 둘은 Script가 다른 Script의 함수를 가져다 쓰거나, 다른 Script의 변수 값을 변경 할 수 있어야 합니다.
때문에 이 부분을 다음 주 화요일에 찾아볼 계획입니다.
또한 현재의 화면 전환 방식도 고민이 되는 점입니다.
현재는 Panel을 미리 생성해두고, 필요로 하는 Panel만 Active 하는 방식을 채택하고 있습니다.
때문에 멀티플레이가 될 시, 이 또한 최소 다른 Script의 함수를 호출할 수 있어야 합니다.
그렇지 않다면 Editor상에서 만든 UI를 Inactive 해놓은 뒤, 버튼 이벤트 발생 때 한번 생성을 하는 방식을 채택해야 합니다.
최악의 경우, Script에서 UI 생성을 모두 완수해야 할 것입니다.
때문에 이러한 Editor에서 생성한 UI를 Script에서 runtime 상에 생성하는 방법도 찾아보려 합니다.
이 두 문제가 해결이 되고 구현이 완료가 되면, 그 뒤는 블루투스를 이용한 멀티플레이 기능으로 넘어갑니다.
우선 라이브러리를 결정하고, 그에 따라 테스트 방식에 차이가 있을 것 같습니다.