Space Plunder
Loading...
Searching...
No Matches
FQuestObjectivesStatus Struct Reference

#include <QuestData.h>

Public Member Functions

float GetElapsedTime () const
 
float GetStartTime () const
 
void StartObjective (const UObject *Owner)
 
void SetObjectiveNotYetStarted ()
 
float SaveObjectiveTime (const UObject *Owner)
 
void ResumeFromElapsedTime ()
 
bool GetIsFailed (const int32 RequiredFailProgress) const
 
bool GetDidCompleteInTime (const bool bObjectiveTimed=false, const float TimeToComplete=0.0f) const
 Not sure if works becuase it needs to stop counting once objective is complete //.
 
bool IsFinished (const int32 RequiredFailProgress, const int32 RequiredProgress) const
 
bool IsSuccessful (const int32 RequiredFailProgress, const int32 RequiredProgress) const
 
bool Complete (const int32 RequiredFailProgress, const int32 RequiredProgress) const
 
EQuestStatus GetStatus () const
 
bool IsActive () const
 
bool GetIsStarted () const
 
bool GetIsNotYetStarted () const
 
bool AddProgress (const int32 Amount, const int32 RequiredProgress)
 
bool AddFailProgress (const int32 Amount, const int32 RequiredFailProgress)
 
int32 GetCurrentProgress () const
 
int32 GetFailProgress () const
 
void SetUniqueID (const int32 NewUID)
 
int32 GetUniqueID () const
 

Protected Attributes

EQuestStatus Status = EQuestStatus::NotStarted
 
int32 UniqueID = -1
 
float StartTimeInSeconds = -1.0f
 
float ElapsedTime = -1.0f
 
int32 FailProgress = 0
 
int32 CurrentProgress = 0
 

Member Function Documentation

◆ AddFailProgress()

bool FQuestObjectivesStatus::AddFailProgress ( const int32 Amount,
const int32 RequiredFailProgress )
inline

Returns if Completed

307 {
308 FailProgress += Amount;
309 if(FailProgress >= RequiredFailProgress)
310 {
311 FailProgress = RequiredFailProgress;
312 if(Status == EQuestStatus::Active)
313 {
314 Status = EQuestStatus::Failed;
315 return true;
316 }
317 }
318 return false;
319 }
EQuestStatus Status
Definition QuestData.h:340
int32 FailProgress
Definition QuestData.h:351

◆ AddProgress()

bool FQuestObjectivesStatus::AddProgress ( const int32 Amount,
const int32 RequiredProgress )
inline

Returns if Completed

292 {
293 CurrentProgress += Amount;
294 if(CurrentProgress >= RequiredProgress)
295 {
296 CurrentProgress = RequiredProgress;
297 if(Status == EQuestStatus::Active)
298 {
299 Status = EQuestStatus::Completed;
300 return true;
301 }
302 }
303 return false;
304 }
int32 CurrentProgress
Definition QuestData.h:353

◆ Complete()

bool FQuestObjectivesStatus::Complete ( const int32 RequiredFailProgress,
const int32 RequiredProgress ) const
inline
265 {
266 if(FailProgress >= RequiredFailProgress)
267 {
268 return true;
269 }
270 return CurrentProgress >= RequiredProgress;
271 }

◆ GetCurrentProgress()

int32 FQuestObjectivesStatus::GetCurrentProgress ( ) const
inline
321 {
322 return CurrentProgress;
323 }

◆ GetDidCompleteInTime()

bool FQuestObjectivesStatus::GetDidCompleteInTime ( const bool bObjectiveTimed = false,
const float TimeToComplete = 0.0f ) const
inline

Not sure if works becuase it needs to stop counting once objective is complete //.

246 {
247 //- Sets ElapsedTime //
248 if(bObjectiveTimed && StartTimeInSeconds >= 0.0f)
249 {
250 return ElapsedTime <= TimeToComplete;
251 }
252 return true;
253 }
float ElapsedTime
Definition QuestData.h:349
float StartTimeInSeconds
Definition QuestData.h:347

◆ GetElapsedTime()

float FQuestObjectivesStatus::GetElapsedTime ( ) const
inline
191 {
192 return ElapsedTime;
193 }

◆ GetFailProgress()

int32 FQuestObjectivesStatus::GetFailProgress ( ) const
inline
325 {
326 return FailProgress;
327 }

◆ GetIsFailed()

bool FQuestObjectivesStatus::GetIsFailed ( const int32 RequiredFailProgress) const
inline
237 {
238 if(FailProgress >= RequiredFailProgress)
239 {
240 return true;
241 }
242 return Status == EQuestStatus::Failed;
243 }

◆ GetIsNotYetStarted()

bool FQuestObjectivesStatus::GetIsNotYetStarted ( ) const
inline
286 {
287 return Status == EQuestStatus::NotStarted;
288 }

◆ GetIsStarted()

bool FQuestObjectivesStatus::GetIsStarted ( ) const
inline
282 {
283 return (Status != EQuestStatus::NotAvailable && Status != EQuestStatus::NotStarted);
284 }

◆ GetStartTime()

float FQuestObjectivesStatus::GetStartTime ( ) const
inline

For Calculating time after save

196 {
197 return StartTimeInSeconds;
198 }

◆ GetStatus()

EQuestStatus FQuestObjectivesStatus::GetStatus ( ) const
inline
274 {
275 return Status;
276 }

◆ GetUniqueID()

int32 FQuestObjectivesStatus::GetUniqueID ( ) const
inline
333 {
334 return UniqueID;
335 }
int32 UniqueID
Definition QuestData.h:343

◆ IsActive()

bool FQuestObjectivesStatus::IsActive ( ) const
inline
278 {
279 return (Status == EQuestStatus::Active);
280 }

◆ IsFinished()

bool FQuestObjectivesStatus::IsFinished ( const int32 RequiredFailProgress,
const int32 RequiredProgress ) const
inline

Returns if the objective progress is hit OR fail progress is hit

256 {
257 return (FailProgress >= RequiredFailProgress) || (CurrentProgress >= RequiredProgress);
258 }

◆ IsSuccessful()

bool FQuestObjectivesStatus::IsSuccessful ( const int32 RequiredFailProgress,
const int32 RequiredProgress ) const
inline
260 {
261 return (CurrentProgress >= RequiredProgress) && (FailProgress < RequiredFailProgress);
262 }

◆ ResumeFromElapsedTime()

void FQuestObjectivesStatus::ResumeFromElapsedTime ( )
inline
232 {
233 if(Status != EQuestStatus::Active){return;}
235 }

◆ SaveObjectiveTime()

float FQuestObjectivesStatus::SaveObjectiveTime ( const UObject * Owner)
inline
222 {
223 if(Status != EQuestStatus::Active){return ElapsedTime;}
224 if(const UWorld* World = GEngine->GetWorldFromContextObject(Owner, EGetWorldErrorMode::LogAndReturnNull))
225 {
226 const float CurrentTimeInSeconds = World->GetTimeSeconds();
227 ElapsedTime = CurrentTimeInSeconds - StartTimeInSeconds;
228 }
229 return ElapsedTime;
230 }

◆ SetObjectiveNotYetStarted()

void FQuestObjectivesStatus::SetObjectiveNotYetStarted ( )
inline
218 {
219 Status = EQuestStatus::NotStarted;
220 }

◆ SetUniqueID()

void FQuestObjectivesStatus::SetUniqueID ( const int32 NewUID)
inline
329 {
330 UniqueID = NewUID;
331 }

◆ StartObjective()

void FQuestObjectivesStatus::StartObjective ( const UObject * Owner)
inline
201 {
202 if(GetIsStarted() == false)
203 {
204 Status = EQuestStatus::Active;
205 // bInProgress = true;
206 if(const UWorld* World = GEngine->GetWorldFromContextObject(Owner, EGetWorldErrorMode::LogAndReturnNull))
207 {
208 StartTimeInSeconds = World->GetTimeSeconds();
209 }
210 }
211 //
212 else
213 {
214
215 }
216 }
bool GetIsStarted() const
Definition QuestData.h:281

Member Data Documentation

◆ CurrentProgress

int32 FQuestObjectivesStatus::CurrentProgress = 0
protected

◆ ElapsedTime

float FQuestObjectivesStatus::ElapsedTime = -1.0f
protected

◆ FailProgress

int32 FQuestObjectivesStatus::FailProgress = 0
protected

◆ StartTimeInSeconds

float FQuestObjectivesStatus::StartTimeInSeconds = -1.0f
protected

◆ Status

EQuestStatus FQuestObjectivesStatus::Status = EQuestStatus::NotStarted
protected

◆ UniqueID

int32 FQuestObjectivesStatus::UniqueID = -1
protected

The documentation for this struct was generated from the following file: