KPT 0.0.1
KPT Project Documentation
|
#include <KPTInGameMode.h>
Public 멤버 함수 | |
AKPTInGameMode () | |
void | AddTeamExperience (int32 ExpToAdd) |
void | AddTeamGold (int32 GoldToAdd) |
팀 자원 | |
virtual void | HandleSeamlessTravelPlayer (AController *&C) override |
void | InitializePlayerForCurrentPhase (APlayerController *PlayerController) |
특정 플레이어를 현재 게임 페이즈에 맞게 초기화합니다. | |
virtual void | OnPlayerDied (AController *PlayerController) |
플레이어가 사망했을 때 호출됩니다. | |
void | OnPlayerFinishedRewardChoice (APlayerController *PlayerController) |
플레이어가 카드 보상 선택을 마쳤을 때 RewardManagerSubsystem이 호출합니다. | |
virtual void | OnPostLogin (AController *NewPlayer) override |
void | PlayerIsReadyForNight (AController *PlayerController) |
플레이어가 상점에서 '준비 완료' 버튼을 눌렀을 때 호출됩니다. |
Public 속성 | |
FOnBossDefeated | OnBossDefeated |
FOnBossHPChanged | OnBossHPChanged |
FOnBossSpawned | OnBossSpawned |
Protected 멤버 함수 | |
bool | AreAllPlayersDead () const |
모든 플레이어가 사망했는지 확인합니다. | |
virtual bool | AreAllPlayersDead_Implementation () const |
void | BeginNightPhaseLogic () |
야간 페이즈를 시작하기 위한 준비 및 전환을 시작합니다. | |
void | CheckAllPlayersReadyForNight () |
모든 플레이어가 야간 페이즈로 넘어갈 준비가 되었는지 확인합니다. | |
void | CheckForTeamLevelUp () |
팀의 경험치를 확인하고 레벨업을 처리합니다. | |
void | CompletePhaseTransition (FGameplayTag TargetPhaseTag) |
void | EndNightPhase () |
야간 페이즈를 종료하고, 게임 종료 조건을 확인하거나 새 라운드를 시작합니다. | |
void | HandleBossDefeated () |
void | HandleBossHPChanged (float CurrentHP, float MaxHP) |
void | HandleBossSpawned (AActor *BossActor) |
void | HandleDayPhase () |
주간 페이즈의 시작을 처리합니다. | |
void | HandleMatchDefeat () |
게임에서 패배했을 때 호출됩니다. | |
virtual void | HandleMatchHasEnded () override |
void | HandleMatchVictory () |
게임에서 승리했을 때 호출됩니다. | |
void | InitiatePhaseTransition (const FGameplayTag &TargetPhaseTag, float PhaseTransitionDuration) |
void | InitiateRewardPhaseForPlayer (APlayerController *PlayerController) |
특정 플레이어에게 카드 선택 기회를 제공합니다. | |
void | OnInGamePhaseManagerReady (UInGamePhaseManagerComponent *PhaseManager) |
void | OnTeamStatsComponentReady (UTeamStatsComponent *TeamStats) |
void | ReturnToLobby () |
void | SetAllPlayersSkillEnabled (bool shouldBeEnabled) |
void | SetPlayerSkillEnabled (AController *PlayerController, bool shouldBeEnabled) |
void | ShareTeamGold () |
void | StartNightPhase () |
야간 페이즈의 핵심 로직을 실행합니다. | |
virtual void | StartPlay () override |
void | StartRound () |
새 라운드를 시작합니다. | |
void | TeleportPlayerToStart () |
Protected 속성 | |
TSubclassOf< UGameplayEffect > | RoundStartPlayerReviveEffectClass |
ShopSubsystem이 모든 플레이어가 준비되었음을 보고하기 위해 호출합니다. | |
TSubclassOf< UGameplayEffect > | SkillDisabledEffectClass |
TObjectPtr< UDataTable > | TeamLevelUpTable |
KPTInGameMode.h 파일의 18 번째 라인에서 정의되었습니다.
AKPTInGameMode::AKPTInGameMode | ( | ) |
KPTInGameMode.cpp 파일의 39 번째 라인에서 정의되었습니다.
void AKPTInGameMode::AddTeamExperience | ( | int32 | ExpToAdd | ) |
KPTInGameMode.cpp 파일의 789 번째 라인에서 정의되었습니다.
다음을 참조함 : CheckForTeamLevelUp().
void AKPTInGameMode::AddTeamGold | ( | int32 | GoldToAdd | ) |
팀 자원
KPTInGameMode.cpp 파일의 325 번째 라인에서 정의되었습니다.
|
protected |
모든 플레이어가 사망했는지 확인합니다.
다음을 참조함 : AreAllPlayersDead(), AreAllPlayersDead_Implementation(), CompletePhaseTransition(), HandleBossDefeated(), HandleBossHPChanged(), HandleBossSpawned(), InitiatePhaseTransition(), SetAllPlayersSkillEnabled(), SetPlayerSkillEnabled(), TeleportPlayerToStart().
다음에 의해서 참조됨 : AreAllPlayersDead(), EndNightPhase(), OnPlayerDied().
|
protectedvirtual |
KPTInGameMode.cpp 파일의 761 번째 라인에서 정의되었습니다.
다음을 참조함 : AKPTPlayerState::GetAbilitySystemComponent().
다음에 의해서 참조됨 : AreAllPlayersDead().
|
protected |
야간 페이즈를 시작하기 위한 준비 및 전환을 시작합니다.
KPTInGameMode.cpp 파일의 597 번째 라인에서 정의되었습니다.
다음을 참조함 : SetAllPlayersSkillEnabled(), StartNightPhase().
다음에 의해서 참조됨 : CompletePhaseTransition().
|
protected |
모든 플레이어가 야간 페이즈로 넘어갈 준비가 되었는지 확인합니다.
KPTInGameMode.cpp 파일의 340 번째 라인에서 정의되었습니다.
다음을 참조함 : GamePhaseTags::InGame_Phase_Night, InitiatePhaseTransition().
다음에 의해서 참조됨 : PlayerIsReadyForNight().
|
protected |
팀의 경험치를 확인하고 레벨업을 처리합니다.
레벨업 시 플레이어들에게 보상 기회를 부여합니다.
KPTInGameMode.cpp 파일의 388 번째 라인에서 정의되었습니다.
다음을 참조함 : UPlayerRewardStateComponent::AddPendingReward(), ERewardPoolType, FTeamLevelUpData::ExperienceForNextLevel, FTeamLevelUpData::RewardPool, TeamLevelUpTable.
다음에 의해서 참조됨 : AddTeamExperience(), EndNightPhase().
|
protected |
KPTInGameMode.cpp 파일의 459 번째 라인에서 정의되었습니다.
다음을 참조함 : BeginNightPhaseLogic(), GamePhaseTags::Game_State_Transitioning, HandleMatchHasEnded(), GamePhaseTags::InGame_Phase_GameOver, GamePhaseTags::InGame_Phase_Night, StartRound(), TeleportPlayerToStart().
다음에 의해서 참조됨 : AreAllPlayersDead().
|
protected |
야간 페이즈를 종료하고, 게임 종료 조건을 확인하거나 새 라운드를 시작합니다.
KPTInGameMode.cpp 파일의 349 번째 라인에서 정의되었습니다.
다음을 참조함 : AreAllPlayersDead(), CheckForTeamLevelUp(), HandleMatchDefeat(), HandleMatchVictory(), InitiatePhaseTransition(), ShareTeamGold().
다음에 의해서 참조됨 : StartNightPhase().
|
protected |
KPTInGameMode.cpp 파일의 581 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AreAllPlayersDead(), StartPlay().
|
protected |
KPTInGameMode.cpp 파일의 570 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AreAllPlayersDead(), StartPlay().
|
protected |
KPTInGameMode.cpp 파일의 559 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AreAllPlayersDead(), StartPlay().
|
protected |
주간 페이즈의 시작을 처리합니다.
플레이어별로 보상/상점 페이즈를 결정합니다.
KPTInGameMode.cpp 파일의 176 번째 라인에서 정의되었습니다.
다음을 참조함 : InitializePlayerForCurrentPhase().
다음에 의해서 참조됨 : StartRound().
|
protected |
게임에서 패배했을 때 호출됩니다.
KPTInGameMode.cpp 파일의 678 번째 라인에서 정의되었습니다.
다음을 참조함 : HandleMatchHasEnded(), GamePhaseTags::InGame_Phase_GameOver, GamePhaseTags::InGame_Phase_GameOver_Lose.
다음에 의해서 참조됨 : EndNightPhase(), OnPlayerDied().
|
overrideprotectedvirtual |
KPTInGameMode.cpp 파일의 696 번째 라인에서 정의되었습니다.
다음을 참조함 : ReturnToLobby().
다음에 의해서 참조됨 : CompletePhaseTransition(), HandleMatchDefeat(), HandleMatchVictory().
|
protected |
게임에서 승리했을 때 호출됩니다.
KPTInGameMode.cpp 파일의 661 번째 라인에서 정의되었습니다.
다음을 참조함 : HandleMatchHasEnded(), GamePhaseTags::InGame_Phase_GameOver_Win.
다음에 의해서 참조됨 : EndNightPhase().
|
overridevirtual |
KPTInGameMode.cpp 파일의 82 번째 라인에서 정의되었습니다.
다음을 참조함 : AKPTPlayerState::GetPersonalTag(), InitializePlayerForCurrentPhase().
void AKPTInGameMode::InitializePlayerForCurrentPhase | ( | APlayerController * | PlayerController | ) |
특정 플레이어를 현재 게임 페이즈에 맞게 초기화합니다.
(예: 상점 또는 보상)
KPTInGameMode.cpp 파일의 194 번째 라인에서 정의되었습니다.
다음을 참조함 : AKPTPlayerState::GetAbilitySystemComponent(), AKPTPlayerState::GetRewardStateComponent(), UPlayerRewardStateComponent::HasPendingRewards(), InitiateRewardPhaseForPlayer(), GamePhaseTags::Player_State_ChoosingReward, GamePhaseTags::Player_State_InShop, RoundStartPlayerReviveEffectClass, SetAllPlayersSkillEnabled(), AKPTPlayerState::SetPersonalStateTag().
다음에 의해서 참조됨 : HandleDayPhase(), HandleSeamlessTravelPlayer(), OnPostLogin().
|
protected |
KPTInGameMode.cpp 파일의 444 번째 라인에서 정의되었습니다.
다음을 참조함 : GamePhaseTags::Game_State_Transitioning.
다음에 의해서 참조됨 : AreAllPlayersDead(), CheckAllPlayersReadyForNight(), EndNightPhase().
|
protected |
특정 플레이어에게 카드 선택 기회를 제공합니다.
KPTInGameMode.cpp 파일의 260 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitializePlayerForCurrentPhase(), OnPlayerFinishedRewardChoice().
|
protected |
|
virtual |
플레이어가 사망했을 때 호출됩니다.
KPTInGameMode.cpp 파일의 751 번째 라인에서 정의되었습니다.
다음을 참조함 : AreAllPlayersDead(), HandleMatchDefeat(), SetPlayerSkillEnabled().
다음에 의해서 참조됨 : APlayerCharacter::Die(), ACharacterBase::HandleDeath().
void AKPTInGameMode::OnPlayerFinishedRewardChoice | ( | APlayerController * | PlayerController | ) |
플레이어가 카드 보상 선택을 마쳤을 때 RewardManagerSubsystem이 호출합니다.
KPTInGameMode.cpp 파일의 272 번째 라인에서 정의되었습니다.
다음을 참조함 : UPlayerRewardStateComponent::ConsumePendingReward(), AKPTPlayerState::GetRewardStateComponent(), UPlayerRewardStateComponent::HasPendingRewards(), InitiateRewardPhaseForPlayer(), GamePhaseTags::Player_State_InShop, AKPTPlayerState::SetPersonalStateTag().
|
overridevirtual |
KPTInGameMode.cpp 파일의 45 번째 라인에서 정의되었습니다.
다음을 참조함 : AKPTPlayerState::GetPersonalTag(), InitializePlayerForCurrentPhase().
|
protected |
KPTInGameMode.cpp 파일의 729 번째 라인에서 정의되었습니다.
다음을 참조함 : FTeamLevelUpData::ExperienceForNextLevel, UTeamStatsComponent::TeamGold, TeamLevelUpTable.
다음에 의해서 참조됨 : StartPlay().
void AKPTInGameMode::PlayerIsReadyForNight | ( | AController * | PlayerController | ) |
플레이어가 상점에서 '준비 완료' 버튼을 눌렀을 때 호출됩니다.
KPTInGameMode.cpp 파일의 309 번째 라인에서 정의되었습니다.
다음을 참조함 : CheckAllPlayersReadyForNight(), GamePhaseTags::Player_State_WaitingForNight, AKPTPlayerState::SetPersonalStateTag().
|
protected |
KPTInGameMode.cpp 파일의 717 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : HandleMatchHasEnded().
|
protected |
KPTInGameMode.cpp 파일의 513 번째 라인에서 정의되었습니다.
다음을 참조함 : SetPlayerSkillEnabled(), SkillDisabledEffectClass.
다음에 의해서 참조됨 : AreAllPlayersDead(), BeginNightPhaseLogic(), InitializePlayerForCurrentPhase().
|
protected |
KPTInGameMode.cpp 파일의 529 번째 라인에서 정의되었습니다.
다음을 참조함 : AKPTPlayerState::GetAbilitySystemComponent(), SkillDisabledEffectClass.
다음에 의해서 참조됨 : AreAllPlayersDead(), OnPlayerDied(), SetAllPlayersSkillEnabled().
|
protected |
KPTInGameMode.cpp 파일의 636 번째 라인에서 정의되었습니다.
다음을 참조함 : UPlayerWalletComponent::AddGold().
다음에 의해서 참조됨 : EndNightPhase().
|
protected |
야간 페이즈의 핵심 로직을 실행합니다.
(몬스터 스폰, 타이머 시작 등)
KPTInGameMode.cpp 파일의 606 번째 라인에서 정의되었습니다.
다음을 참조함 : EndNightPhase(), UStageManagerSubsystem::GetStageDuration(), GamePhaseTags::InGame_Phase_Night, UStageManagerSubsystem::StartStage().
다음에 의해서 참조됨 : BeginNightPhaseLogic().
|
overrideprotectedvirtual |
KPTInGameMode.cpp 파일의 119 번째 라인에서 정의되었습니다.
다음을 참조함 : HandleBossDefeated(), HandleBossHPChanged(), HandleBossSpawned(), AKPTInGameState::InGamePhaseManager, OnBossDefeated, OnBossHPChanged, OnBossSpawned, OnInGamePhaseManagerReady(), AKPTInGameState::OnInGamePhaseManagerReady, OnTeamStatsComponentReady(), AKPTInGameState::OnTeamStatsComponentReady, StartRound(), AKPTInGameState::TeamStatsComponent.
|
protected |
새 라운드를 시작합니다.
라운드 카운터를 증가시키고 주간 페이즈 로직을 시작합니다.
KPTInGameMode.cpp 파일의 166 번째 라인에서 정의되었습니다.
다음을 참조함 : HandleDayPhase().
다음에 의해서 참조됨 : CompletePhaseTransition(), StartPlay().
|
protected |
KPTInGameMode.cpp 파일의 496 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AreAllPlayersDead(), CompletePhaseTransition().
FOnBossDefeated AKPTInGameMode::OnBossDefeated |
KPTInGameMode.h 파일의 59 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : StartPlay().
FOnBossHPChanged AKPTInGameMode::OnBossHPChanged |
KPTInGameMode.h 파일의 56 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : StartPlay().
FOnBossSpawned AKPTInGameMode::OnBossSpawned |
KPTInGameMode.h 파일의 53 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : StartPlay().
|
protected |
ShopSubsystem이 모든 플레이어가 준비되었음을 보고하기 위해 호출합니다.
KPTInGameMode.h 파일의 125 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitializePlayerForCurrentPhase().
|
protected |
KPTInGameMode.h 파일의 128 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : SetAllPlayersSkillEnabled(), SetPlayerSkillEnabled().
|
protected |
KPTInGameMode.h 파일의 131 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : CheckForTeamLevelUp(), OnTeamStatsComponentReady().