오직 서버에서만 존재
서버와 모든 클라이언트에 존재
클라이언트는 게임 스테이트를 사용해 현재 게임의 상태를 파악할 수 있음
팀전에서의 팀 스코어를 관리하는데 유용
서버와 모든 클라이언트에 존재
클라이언트는 플레이어 스테이트를 사용해 플레이어의 상태를 파악할 수 있음
플레이어 개인의 스코어 및 다른 사람들과 공유할 플레이어 정보를 관리하는데 유용
PvP 전투 시스템의 보완
죽은 후 캐릭터 랜덤 리스폰 기능의 제작
플레이어 스테이트의 값을 활용한 캐릭터별 메시 로딩
플레이어 스테이트가 제공하는 스코어 기능의 활용
게임 스테이트를 활용한 게임 매칭 상태의 변경
서버 트래블 기능을 활용한 게임 레벨의 변경
https://github.com/dnjfs/ArenaBattle_Network/commit/152a3fae48367609a95da63c2a5b0fdec668ecd1
사망 시 리스폰 구현
캐릭터 초기화 후 랜덤 위치에서 리스폰
캐릭터 메시 로딩
config 파일에 메시 경로 작성
서버와 클라이언트에서 PlayerId를 통해 각자 세팅 (PlayerId는 수시로 바뀌니 고정되지 않음)
매치 상태 변경
게임모드에서 타이머 호출
시간이 다 되거나 점수를 일정 이상 얻으면 FinishMatch()를 호출하여 매치 상태 변경
일정 시간 이후 ServerTravel() 함수로 레벨 이동
GameModeBase는 아주 기본적인 기능만 제공되는 클래스
GameMode는 GameModeBase를 상속받은 매칭 관리가 가능한 클래스
- ServerTravel()
서버에 접속한 모든 클라이언트의 접속을 유지한 상태에서 새로운 레벨로 이동