11#include "TimerManager.h"
15#include "Engine/World.h"
16#include "GameFramework/PlayerState.h"
21 GameStateClass = ALingoGameState::StaticClass();
22 PlayerStateClass = ALingoPlayerState::StaticClass();
25 PrimaryActorTick.bCanEverTick =
false;
31 const int32 PlayerCount = PSList.Num();
35 PSList[0]->QuestRole = EQuestRole::Both;
37 else if (PlayerCount >= 2)
39 PSList[0]->QuestRole = EQuestRole::OnlyQuestion1;
40 PSList[1]->QuestRole = EQuestRole::OnlyQuestion2;
51 if (
auto GS = GetGameState<ALingoGameState>())
53 GS->SetReadScenarioData(InResponseData);
55 GS->SetAllCompassVisibility(
false);
56 GS->SetCompassVisibilityByTag(
"ReadQuest",
true);
67 if (
auto GS = GetGameState<ALingoGameState>())
69 GS->SetListenScenarioData(InResponseData);
71 GS->SetAllCompassVisibility(
false);
72 GS->SetCompassVisibilityByTag(
"ListenQuest",
true);
81 if (!Player || !luggage)
85 if (!LingoPlayerState)
105 if (!Player || !Luggage)
111 PRINTLOG(TEXT(
"[GameMode] ValidateAnswer - Symbol: %s vs %s (%s), Color: %s vs %s (%s)"),
115 return bSymbolCorrect && bColorCorrect;
120 if (!HasAuthority() )
147 constexpr float Penalty = 30.f;
155 PRINTLOG(TEXT(
"[GameMode] Symbol was wrong - Cleared selection"));
162 PRINTLOG(TEXT(
"[GameMode] Color was wrong - Cleared selection"));
APlayerControl 선언에 대한 Doxygen 주석을 제공합니다.
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
#define PRINTLOG(fmt,...)
void HandleCorrectAnswer(class ALingoPlayerState *Player)
정답 처리
void HandleWrongAnswer(class ALingoPlayerState *Player, bool bSymbolCorrect, bool bColorCorrect)
오답 처리
void BeginReadQuest(const FResponseReadScenario &InResponseData)
void HandleLuggageSelection(class APlayerState *Player, class Aluggage *luggage)
void BeginListenQuest(const FResponseListenScenario &InResponseData)
bool ValidateAnswer(class ALingoPlayerState *Player, class Aluggage *Luggage)
정답을 판정합니다
void StopMissionTimer()
미션 타이머를 중지합니다
void DecreaseMissionTimer(const float InValue)
FString SelectedWord2
선택한 색상 (문제2 답변)
FString SelectedWord1
선택한 심볼 (문제1 답변)
bool bWrongWord1
심볼 오답 플래그
bool bWrongWord2
색상 오답 플래그
FString Target2
캐리어의 색상 (문제2 정답)
FString Target1
캐리어의 심볼 (문제1 정답)
static TArray< class ALingoPlayerState * > GetLingoPlayerStateList(const UObject *WorldContextObject)