GameInstance, GameMode, GameState 를 만들었는데 GameMode 와 GameState 의 차이를 잘 몰라 우선 이전 강의를 보고 했던대로 GameState 에 코드를 몰아넣었었다. 하지만 최근 챌린지 반 강의를 들어보고 검색도 하며 찾아보니 확실하게 역할이 나뉘어있었다.
게임 인스턴스는 게임이 시작되고 끝날 때까지 계속 존재하는 프레임 워크이다. 레벨이 변환되어도 파괴되지 않으므로 계속 저장해둬야하는 정보는 이곳에 넣는다.
게임 모드는 게임 중에 처리해야하는 일들을 관리하는 프레임 워크이다. 실질적인 기능을 하는 코드들을 이 곳에 작성한다.
레벨이 바뀌면 파괴되므로 유지되어야하는 정보는 게임 인스턴스로 넘겨주어야한다.
게임 스테이트는 현재 게임의 상태를 게임 모드에서 처리된 정보들을 실시간으로 업데이트하는 프레임 워크로, UI와 연동하기 쉽도록 한다.
플레이어 스테이트는 멀티를 구현할 때 반드시 필요한 프레임 워크이다. 각 플레이어들은 플레이어 스테이트를 복제하여 받고, 각자의 정보를 이 곳에 보관한다.
이 프레임 워크는 특별하게 레벨이 변환되어도 파괴되지 않고, 다음 레벨로 이전된다. 단, 이전되는 과정에는 접근이 불가하다.