시스템과 컴포넌트
개요
이 절에서는 시스템에서 업데이트하는 모든 시스템 및 컴포넌트에 대해 설명합니다.
MapGenerator
시뮬레이션 시작 시 게임 플레이 맵을 생성하는 신호 전용 시스템입니다. 프레임 DB에 맵을 삽입하고 새 맵을 활성화합니다.
게임 플레이
GameplaySystem
및 GameplayComponent
는 게임 플레이 루프 (WaitingForPlayer
, MatchStart
, Active
, Finished
)를 담당합니다. 승리 조건 검토. 플레이어의 순위를 추적합니다.
GameplaySettings
은 다음과 같은 몇 가지 중요 환경 구성을 정의합니다:
- 플레이어 수
- 사라진 플레이어의 대기 시간
- 경기 시작 시간
- 대기 시간이 경과된 사라진 플레이어의 이름과 프리팹
Water
정의된 Y 위치 아래의 에이전트를 제거합니다.
트리거
TriggerEnter/Exit 신호를 리슨 하는 시그널 전용 시스템입니다. 동적 트리거와 정적 트리거를 모두 지원합니다. 두 유형의 트리거는 TriggerBehavior 에셋에서 정의한 동일한 동작을 공유합니다.
TriggerBehavior에서 상속하여 다양한 동작을 구현할 수 있습니다. 템플릿에는 두 가지 구현이 포함되어 있습니다:
- SpeedModifier
- GadgetPickup
플레이어
연결된 사용자를 나타냅니다. 플레이어는 실제 플레이어 또는 AI(실행되지 않음)일 수 있습니다. 플레이어에 대해 비활성화된 정적 트리거를 추적합니다(예: 픽업은 각 플레이어가 픽업할 때 비활성화된 정적 트리거입니다).
에이전트
플레이어의 게임 플레이 표현입니다. 에이전트의 상태는 여러 가지가 있습니다:
- 살아있음
- 재 스폰 중
- 안전한
- 끝남
이동
이동은 MovementDesires
에 따라 에이전트를 이동하는 역할을 합니다. MovementDesires
는 입력을 기반으로 생성되지만 AI 시스템(실행되지 않음)으로 생성될 수도 있습니다. 항상 앞으로 이동합니다. 가변 길이(높이)의 점프를 지원합니다. 변경자(가젯, 속도 변경 플랫폼)를 적용하여 외부 소스로부터 속도를 수정할 수 있습니다.
가젯
가젯은 GadgetPickups(지도 생성기에 의해 지도에 추가됨)에서 선택됩니다. 다른 동작을 할 수 있습니다.
- 발사체 : 발사체(또는 다중)를 스폰
- 스피드업: 일시적으로 이동 속도가 변경
발사체
물리기반 발사체. 적중한 에이전트 죽임. 여러 행동을 가질 수 있습니다
- 유도
- 종료
- 한정된 생명