반응형
GameFramework
클래스별 범위
CLASSES | |||
GameMode | GameState | PlayerState | PlayerController |
Server Only | Server and all Cients | Server and all Clients | Server and Owning Client |
Pawn | HUD/Widgets | ||
Server and all Clients | Owning Client Only |
클래스별 역할
CLASSES | |||
GameMode | GameState | PlayerState | PlayerController |
●Default Classes ○Pawn ○PlayerController ○HUD ●Rules ○Player Eliminated ○Respawning Players ●Match State ●Warmup Time ●Match Time |
●State of the Game ●Top Scoring Players ●Teams in the Lead ●Team Scores ● Array of Player States |
●State of the Player ○Score ○Defeats ○Carried Ammo |
●Access to the HUD ○Display Messages ○Update HUD Health ○Update HUD Score ○Update HUD Defeats ○Update HUD Ammo |
GameMode
- 게임의 기본 클래스 설정 (Default Pawn, PlayerController, HUD 등)
- 게임의 전반적인 규칙과 흐름 제어 (플레이어 리스폰, 이벤트 등)
- Math State라는 개념을 통해 경기의 다양한 상태 관리
GameState
- 게임의 현재 상태와 정보를 저장하고 추적
- 스코어, 시간, 라운드 상태 등 각 팀의 점수 단위를 저장하고 모든 클라이언트와 동기화
- 게임 플레이 동안의 정보를 관리하므로, 실시간 업데이트 될 수 있다.
PlayerState
- 개별 플레이어의 정보와 상태를 관리
- 플레이어의 점수, 죽은 횟수, 승점, 패점등을 추적 관리
- GameState와 달리 개별 플레이어에 초점을 맞춤
PlayerController
- 플레이어의 입력을 받아 캐릭터와 상호 작용
- Pawn을 조종하고 HUD에 접근가능
- Message, HUD의 상태 업데이트 등의 함수를 쉽게 배치할 수 있고 로컬 클라이언트의 HUD를 업데이트할 수 있다
서버와 클라이언트 구조
Server
서버에는 GameMode, GameState, All PlayerState, All PlayerController, All Pawn이 존재
Client
ex) Client 1 (2,3 동일)
- Client1은 GamesState에 접근 가능
- 모든 PlayerState에 접근 가능
- Client1과 연결된 PlayerController에만 접근 가능
- 모든 Pawn에 접근 가능
반응형
댓글