Space Plunder
Loading...
Searching...
No Matches
UQuestBPLib Class Reference

#include <QuestBPLib.h>

Inheritance diagram for UQuestBPLib:

Static Public Member Functions

static IQuestPlayerGetPlayerQuestComponent (const AActor *Actor)
 
static IQuestPlayerGetPlayerQuestComponent (const APlayerState *PlayerState)
 
static IQuestPlayerGetPlayerQuestComponent (const AController *Controller)
 
static UObject * GetPlayerQuestComponentObject (const AActor *Actor)
 
static UObject * GetPlayerQuestComponentObject (const APlayerState *PlayerState)
 
static UObject * GetPlayerQuestComponentObject (const AController *Controller)
 
static IQuestReporterGetQuestReporter (const UObject *WorldContextObject)
 
static UActorComponent * GetQuestReporterReference (const UObject *WorldContextObject)
 
static IQuestDataInterfaceGetQuestData (const UObject *WorldContextObject)
 
static IQuestViewGetQuestViewer (const AController *Controller)
 
static UDataTable * LoadDefaultQuestDataTable ()
 
static UDataTable * LoadDefaultObjectiveDataTable ()
 
static UDataTable * LoadQuestDataTableFromGameState (const UObject *WorldContextObject)
 
static UDataTable * LoadObjectiveDataTableFromGameState (const UObject *WorldContextObject)
 
static bool GetOwningPlayerQuestStatus (const AActor *OwningActor, FPlayerQuestStatus &PlayerQuestStatus)
 
static FString ConvertQuestFilterToString (const EFilterQuestType FilterType, bool &bSuccess)
 Check Function //.
 
static FString ConvertQuestLocationToString (const EQuestLocation QuestLocation, bool &bSuccess)
 
static FQuestInfo GetQuestInfo (const UObject *WorldContextObject, const FString &QuestID, bool &bSuccess, const UDataTable *DataTable=nullptr)
 
static FQuestObjectives GetQuestObjectiveInfo (const UObject *WorldContextObject, const FString &ObjectiveID, bool &bSuccess, const UDataTable *DataTable=nullptr)
 

Member Function Documentation

◆ ConvertQuestFilterToString()

FString UQuestBPLib::ConvertQuestFilterToString ( const EFilterQuestType FilterType,
bool & bSuccess )
static

Check Function //.

491{
492 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
493 const UEnum* QuestFilterEnum = StaticEnum<EFilterQuestType>();
494 if(QuestFilterEnum == nullptr){bSuccess = false; return "";}
495 const FString& FilterConverted = QuestFilterEnum->GetValueAsString(FilterType);
496 FString LeftString;
497 //- Remove EFilterCategory:: //
498 FString RightString;
499 bSuccess = UKismetStringLibrary::Split(FilterConverted, "::", LeftString, RightString);
500 return RightString;
501}

◆ ConvertQuestLocationToString()

FString UQuestBPLib::ConvertQuestLocationToString ( const EQuestLocation QuestLocation,
bool & bSuccess )
static
517{
518 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
519 const UEnum* QuesLocationEnum = StaticEnum<EQuestLocation>();
520 if(QuesLocationEnum == nullptr){bSuccess = false; return "";}
521 const FString& LocationConverted = QuesLocationEnum->GetValueAsString(QuestLocation);
522 FString LeftString;
523 //- Remove EQuestLocation:: //
524 FString RightString;
525 bSuccess = UKismetStringLibrary::Split(LocationConverted, "::", LeftString, RightString);
526 return RightString;;
527}

◆ GetOwningPlayerQuestStatus()

bool UQuestBPLib::GetOwningPlayerQuestStatus ( const AActor * OwningActor,
FPlayerQuestStatus & PlayerQuestStatus )
static
211{
212 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
213 UE_LOG(LogQuestSystem, Error, TEXT("UQuestBPLib::GetOwningPlayerQuestStatus Function To Be Removed "));
214 return false;
215 // if(OwningActor == nullptr){return false;}
216 // const IQuestInterface* QuestActor = Cast<IQuestInterface>(OwningActor);
217 // if(QuestActor == nullptr){return false;}
218 // PlayerQuestStatus = QuestActor->GetPlayerQuestStatus();
219 // return true;
220}

◆ GetPlayerQuestComponent() [1/3]

IQuestPlayer * UQuestBPLib::GetPlayerQuestComponent ( const AActor * Actor)
static
22{
23 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
24 if(Actor == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponent Actor null"));return nullptr;}
25 const APawn* Pawn = Cast<APawn>(Actor);
26 if(Pawn == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponent Pawn null"));return nullptr;}
27 return GetPlayerQuestComponent(Pawn->GetController());
28}
static IQuestPlayer * GetPlayerQuestComponent(const AActor *Actor)
Definition QuestBPLib.cpp:21

◆ GetPlayerQuestComponent() [2/3]

IQuestPlayer * UQuestBPLib::GetPlayerQuestComponent ( const AController * Controller)
static
38{
39 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
40 if(Controller == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponent Controller null"));return nullptr;}
41 TArray<UActorComponent*> Components = Controller->GetComponentsByInterface(UQuestPlayer::StaticClass());
42 for(const auto& Component : Components)
43 {
44 IQuestPlayer* QuestPlayer = Cast<IQuestPlayer>(Component);
45 if(QuestPlayer == nullptr){continue;}
46 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetPlayerQuestComponent QuestGameComponent Passed"));
47 return QuestPlayer;
48 }
49 UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponent IQuestPlayer Component not found on %s"), *Controller->GetHumanReadableName());
50 return nullptr;
51}
Definition QuestPlayer.h:27

◆ GetPlayerQuestComponent() [3/3]

IQuestPlayer * UQuestBPLib::GetPlayerQuestComponent ( const APlayerState * PlayerState)
static
31{
32 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
33 if(PlayerState == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponent PlayerState null"));return nullptr;}
34 return GetPlayerQuestComponent(PlayerState->GetOwningController());
35}

◆ GetPlayerQuestComponentObject() [1/3]

UObject * UQuestBPLib::GetPlayerQuestComponentObject ( const AActor * Actor)
static
54{
55 if(Actor == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponentObject Actor null"));return nullptr;}
56 const APawn* Pawn = Cast<APawn>(Actor);
57 if(Pawn == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponentObject Pawn null"));return nullptr;}
58 return GetPlayerQuestComponentObject(Pawn->GetController());
59}
static UObject * GetPlayerQuestComponentObject(const AActor *Actor)
Definition QuestBPLib.cpp:53

◆ GetPlayerQuestComponentObject() [2/3]

UObject * UQuestBPLib::GetPlayerQuestComponentObject ( const AController * Controller)
static
69{
70 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
71 if(Controller == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponentObject Controller null"));return nullptr;}
72 TArray<UActorComponent*> Components = Controller->GetComponentsByInterface(UQuestPlayer::StaticClass());
73 for(const auto& Component : Components)
74 {
75 const IQuestPlayer* QuestPlayer = Cast<IQuestPlayer>(Component);
76 if(QuestPlayer == nullptr){continue;}
77 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetPlayerQuestComponentObject QuestGameComponent Passed"));
78 return Component;
79 }
80 UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponentObject IQuestPlayer Component not found on %s"), *Controller->GetHumanReadableName());
81 return nullptr;
82}

◆ GetPlayerQuestComponentObject() [3/3]

UObject * UQuestBPLib::GetPlayerQuestComponentObject ( const APlayerState * PlayerState)
static
62{
63 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
64 if(PlayerState == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetPlayerQuestComponentObject PlayerState null"));return nullptr;}
65 return GetPlayerQuestComponentObject(PlayerState->GetOwningController());
66}

◆ GetQuestData()

IQuestDataInterface * UQuestBPLib::GetQuestData ( const UObject * WorldContextObject)
static
119{
120 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
121 const AGameStateBase* GameStateBase = UGameplayStatics::GetGameState(WorldContextObject);
122 if(GameStateBase == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestData GameStateBase"));return nullptr;}
123 TArray<UActorComponent*> Components = GameStateBase->GetComponentsByInterface(UQuestDataInterface::StaticClass());
124 for(const auto& Component : Components)
125 {
126 IQuestDataInterface* QuestDataInterface = Cast<IQuestDataInterface>(Component);
127 if(QuestDataInterface == nullptr){continue;}
128 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetQuestData QuestDataInterface Passed"));
129 return QuestDataInterface;
130 }
131 UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestData QuestDataInterface"));
132 return nullptr;
133}
Definition QuestDataInterface.h:20

◆ GetQuestInfo()

FQuestInfo UQuestBPLib::GetQuestInfo ( const UObject * WorldContextObject,
const FString & QuestID,
bool & bSuccess,
const UDataTable * DataTable = nullptr )
static
223{
224 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
225 bSuccess = false;
226 if(!IsValid(DataTable))
227 {
228 UE_LOG(LogQuestSystem, Log, TEXT("Loading GameState Weapon DataTable"));
229 DataTable = LoadQuestDataTableFromGameState(WorldContextObject);
230 if(!IsValid(DataTable))
231 {
232 UE_LOG(LogQuestSystem, Log, TEXT("Loading Default Weapon DataTable"));
233 DataTable = LoadDefaultQuestDataTable();
234 }
235 if(!IsValid(DataTable))
236 {
237 UE_LOG(LogQuestSystem,Warning,TEXT("Quest Data Table -Get Quest Info"));
238 return FQuestInfo::Empty();
239 }
240 }
241 FQuestInfo* QuestInfoPtr = DataTable->FindRow<FQuestInfo>(FName(QuestID), "");
242 if(QuestInfoPtr == nullptr){UE_LOG(LogQuestSystem,Warning,TEXT("Quest Info -Get Quest Info")); bSuccess = false; return FQuestInfo::Empty();;}
243 bSuccess = true;
244 return *QuestInfoPtr;
245}
static UDataTable * LoadQuestDataTableFromGameState(const UObject *WorldContextObject)
Definition QuestBPLib.cpp:189
static UDataTable * LoadDefaultQuestDataTable()
Definition QuestBPLib.cpp:153
Definition QuestData.h:798
static FQuestInfo Empty()
Definition QuestData.h:900

◆ GetQuestObjectiveInfo()

FQuestObjectives UQuestBPLib::GetQuestObjectiveInfo ( const UObject * WorldContextObject,
const FString & ObjectiveID,
bool & bSuccess,
const UDataTable * DataTable = nullptr )
static
249{
250 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
251 bSuccess = false;
252 if(!IsValid(DataTable))
253 {
254 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetQuestObjectiveInfo Loading GameState DT"));
255 DataTable = LoadObjectiveDataTableFromGameState(WorldContextObject);
256 if(!IsValid(DataTable))
257 {
258 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetQuestObjectiveInfo Loading Default DT"));
259 DataTable = LoadDefaultObjectiveDataTable();
260 }
261 if(!IsValid(DataTable))
262 {
263 UE_LOG(LogQuestSystem,Warning,TEXT("UQuestBPLib::GetQuestObjectiveInfo Failed"));
264 return FQuestObjectives();
265 }
266 }
267 FQuestObjectives* ObjectiveInfoPtr = DataTable->FindRow<FQuestObjectives>(FName(ObjectiveID), "");
268 if(ObjectiveInfoPtr == nullptr){UE_LOG(LogQuestSystem,Warning,TEXT("UQuestBPLib::GetQuestObjectiveInfo Ptr Failed")); bSuccess = false; return FQuestObjectives();}
269 bSuccess = true;
270 return *ObjectiveInfoPtr;
271
272}
static UDataTable * LoadDefaultObjectiveDataTable()
Definition QuestBPLib.cpp:171
static UDataTable * LoadObjectiveDataTableFromGameState(const UObject *WorldContextObject)
Definition QuestBPLib.cpp:199
Definition QuestData.h:361

◆ GetQuestReporter()

IQuestReporter * UQuestBPLib::GetQuestReporter ( const UObject * WorldContextObject)
static
85{
86 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
87 const AGameStateBase* GameStateBase = UGameplayStatics::GetGameState(WorldContextObject);
88 if(GameStateBase == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestReporter GameStateBase"));return nullptr;}
89 TArray<UActorComponent*> Components = GameStateBase->GetComponentsByInterface(UQuestReporter::StaticClass());
90 for(const auto& Component : Components)
91 {
92 IQuestReporter* QuestReporter = Cast<IQuestReporter>(Component);
93 if(QuestReporter == nullptr){continue;}
94 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetQuestReporter QuestReporter Passed"));
95 return QuestReporter;
96 }
97 UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestReporter IQuestReporter"));
98 return nullptr;
99}
Definition QuestReporter.h:23

◆ GetQuestReporterReference()

UActorComponent * UQuestBPLib::GetQuestReporterReference ( const UObject * WorldContextObject)
static

Gets the Game State Quest Component, Quest Reporter Interface Functions

102{
103 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
104 const AGameStateBase* GameStateBase = UGameplayStatics::GetGameState(WorldContextObject);
105 if(GameStateBase == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestReporterReference GameStateBase"));return nullptr;}
106 TArray<UActorComponent*> Components = GameStateBase->GetComponentsByInterface(UQuestReporter::StaticClass());
107 for(const auto& Component : Components)
108 {
109 const IQuestReporter* QuestReporter = Cast<IQuestReporter>(Component);
110 if(QuestReporter == nullptr){continue;}
111 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetQuestReporterReference QuestReporter Passed"));
112 return Component;
113 }
114 UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestReporterReference IQuestReporter"));
115 return nullptr;
116}

◆ GetQuestViewer()

IQuestView * UQuestBPLib::GetQuestViewer ( const AController * Controller)
static
136{
137 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
138 if(Controller == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestViewer Controller null"));return nullptr;}
139 TArray<UActorComponent*> Components = Controller->GetComponentsByInterface(UQuestView::StaticClass());
140 for(const auto& Component : Components)
141 {
142 IQuestView* QuestViewer = Cast<IQuestView>(Component);
143 if(QuestViewer == nullptr){continue;}
144 UE_LOG(LogQuestSystem, Log, TEXT("UQuestBPLib::GetQuestViewer QuestViewer Passed"));
145 return QuestViewer;
146 }
147 UE_LOG(LogQuestSystem, Warning, TEXT("UQuestBPLib::GetQuestViewer IQuestView Component not found on %s"), *Controller->GetHumanReadableName());
148 return nullptr;
149}
Definition QuestView.h:21

◆ LoadDefaultObjectiveDataTable()

UDataTable * UQuestBPLib::LoadDefaultObjectiveDataTable ( )
static
172{
173 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
174 const FSoftObjectPath UnitDataTablePath = FSoftObjectPath(TEXT("/QuestSystem/Data/DT_Objectives.DT_Objectives"));
175 UDataTable* DataTable = Cast<UDataTable>(UnitDataTablePath.ResolveObject());
176 if(DataTable != nullptr)
177 {
178 return DataTable;
179 }
180 DataTable = Cast<UDataTable>(UnitDataTablePath.TryLoad());
181 if(DataTable != nullptr)
182 {
183 return DataTable;
184 }
185 UE_LOG(LogQuestSystem, Warning, TEXT("Default Quest DataTable Failed"));
186 return nullptr;
187}

◆ LoadDefaultQuestDataTable()

UDataTable * UQuestBPLib::LoadDefaultQuestDataTable ( )
static
154{
155 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
156 const FSoftObjectPath UnitDataTablePath = FSoftObjectPath(TEXT("/QuestSystem/Data/DT_Quests.DT_Quests"));
157 UDataTable* DataTable = Cast<UDataTable>(UnitDataTablePath.ResolveObject());
158 if(DataTable != nullptr)
159 {
160 return DataTable;
161 }
162 DataTable = Cast<UDataTable>(UnitDataTablePath.TryLoad());
163 if(DataTable != nullptr)
164 {
165 return DataTable;
166 }
167 UE_LOG(LogQuestSystem, Warning, TEXT("Default Quest DataTable Failed"));
168 return nullptr;
169}

◆ LoadObjectiveDataTableFromGameState()

UDataTable * UQuestBPLib::LoadObjectiveDataTableFromGameState ( const UObject * WorldContextObject)
static
200{
201 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
202 return nullptr;
203
204 // IQuestDataInterface* QuestGameState = Cast<IQuestDataInterface>(UGameplayStatics::GetGameState(WorldContextObject));
205 // if(QuestGameState == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("Objective DataTable Failed in - LoadObjectiveDataTableFromGameState"));return nullptr;}
206 // return QuestGameState->GetObjectivesDataTable();
207}

◆ LoadQuestDataTableFromGameState()

UDataTable * UQuestBPLib::LoadQuestDataTableFromGameState ( const UObject * WorldContextObject)
static
190{
191 SCOPE_CYCLE_COUNTER(STATGROUP_Quest_BPLib);
192 return nullptr;
193 // IQuestDataInterface* QuestGameState = Cast<IQuestDataInterface>(UGameplayStatics::GetGameState(WorldContextObject));
194 // if(QuestGameState == nullptr){UE_LOG(LogQuestSystem, Warning, TEXT("Quest DataTable Failed in - LoadQuestDataTableFromGameState"));return nullptr;}
195 // return QuestGameState->GetQuestDataTable();
196
197}

The documentation for this class was generated from the following files: