Paradies Project
Loading...
Searching...
No Matches
AInGameGameMode Class Reference

게임의 규칙, 스테이지 진행, 페이즈 전환 로직을 총괄하는 클래스입니다. More...

#include <InGameGameMode.h>

Inheritance diagram for AInGameGameMode:
Inheritance graph
Collaboration diagram for AInGameGameMode:
Collaboration graph

Public Member Functions

void ForceVictory ()
 디버그 테스트 함수 콘솔창에서 호출시 강제 승리
virtual void BeginPlay () override
virtual void PostLogin (APlayerController *NewPlayer) override
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 게임모드 액터가 파괴되거나 레벨이 전환될 때 호출됩니다.
void OnStageTimerElapsed ()
 스테이지 타이머가 1초 경과할 때마다 호출되는 함수
void EndStage (bool bIsVictory)
 게임 승패가 결정되었을 때 호출하는 함수

Public Attributes

FOnStageVictorySignature OnStageVictory
 스테이지 승리 보상 데이터를 UI로 전달하는 델리게이트

Protected Member Functions

void InitializeStageData (FName StageID)
 데이터 테이블로부터 스테이지 정보를 읽어와 초기화합니다.
Phase Transition Handlers

각 페이즈 진입 시 내부 로직을 처리하는 함수군입니다.

void OnPhaseReady ()
 [준비] 카운트다운 처리
void OnPhaseCombat ()
 [전투] 몬스터 스폰 및 전투 진행
void OnPhaseVictory ()
 [승리] 승리 처리 및 결과창 준비
void OnPhaseDefeat ()
 [패배] 패배 처리 및 결과창 준비
void OnPhaseResult ()
 [결과] 결과창 표시 및 레벨 이동 준비

Protected Attributes

class AInGameGameStateCachedGameState
 [캐싱] 전역 상태 관리를 위한 GameState 포인터
FName CurrentStageID
 현재 진행중인 스테이지 ID
FStageStats CurrentStageData
 [데이터] 현재 진행 중인 스테이지의 상세 스탯(시간, 보상 등)
EGamePhase CurrentPhase
 [상태] 현재 게임 페이즈 단계
FTimerHandle StageTimerHandle
 [타이머] 스테이지 진행을 위한 타이머 핸들
FTimerHandle ResultTimerHandle
 [타이머] 결과 창 뜨기 전에 연출을 위한 타이머 핸들
TSubclassOf< class ADamageTextActorDamageTextClass
 전투 전 미리 생성해둘 데미지 텍스트 블루프린트 클래스
int32 PreSpawnDamageTextCount = 30
 사전 생성 개수

Detailed Description

게임의 규칙, 스테이지 진행, 페이즈 전환 로직을 총괄하는 클래스입니다.

데이터 테이블에서 스테이지 정보를 로드하고, GameState와 협력하여 게임 흐름을 제어합니다.

Member Function Documentation

◆ EndPlay()

void AInGameGameMode::EndPlay ( const EEndPlayReason::Type EndPlayReason)
overridevirtual

게임모드 액터가 파괴되거나 레벨이 전환될 때 호출됩니다.

설정창을 통한 로비 강제 이탈 시 BGM을 끄기 위한 안전장치입니다.

이탈 시 BGM 초기화 방어선

승리/패배를 보지 않고 설정창을 통해 로비로 바로 런(Run)하는 경우, 레벨이 파괴될 때 무조건 브금을 꺼서 로비 BGM과 겹치는 것을 막습니다.

◆ EndStage()

void AInGameGameMode::EndStage ( bool bIsVictory)

게임 승패가 결정되었을 때 호출하는 함수

타임오버, 기지 파괴 등 모든 게임 종료 상황에서 이 함수를 호출합니다.

Parameters
bIsVictorytrue: 플레이어 승리 / false: 플레이어 패배
Here is the caller graph for this function:

◆ InitializeStageData()

void AInGameGameMode::InitializeStageData ( FName StageID)
protected

데이터 테이블로부터 스테이지 정보를 읽어와 초기화합니다.

Parameters
StageID로드할 스테이지의 고유 ID
Here is the call graph for this function:

The documentation for this class was generated from the following files:
  • Source/Paradise/Public/Framework/InGame/InGameGameMode.h
  • Source/Paradise/Private/Framework/InGame/InGameGameMode.cpp