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

#include <WeaponBPLib.h>

Inheritance diagram for UWeaponBPLib:

Static Public Member Functions

static UDataTable * LoadDefaultWeaponDataTable ()
 
static UDataTable * LoadWeaponDataTableFromGameState (const UObject *WorldContextObject)
 
static UDataTable * LoadWeaponEffectsDataTableFromGameState (const UObject *WorldContextObject)
 
static UDataTable * LoadDefaultWeaponPickupDataTable ()
 
static UDataTable * LoadWeaponPickupDataTableFromGameState (const UObject *WorldContextObject)
 
static UDataTable * LoadDefaultWeaponAttachmentDataTable ()
 
static UDataTable * LoadWeaponAttachmentDataTableFromGameState (const UObject *WorldContextObject)
 
static FWeaponData_T GetDefaultWeaponData (const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static FWeaponStats_T GetWeaponStats (const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static FWeaponEffects_T GetWeaponEffects (const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static FWeaponAttachment GetWeaponAttachment (const UObject *WorldContextObject, const FString &WeaponAttachmentID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static TArray< EAttachmentTypeGetWeaponAttachmentTypes (const UObject *WorldContextObject, const TArray< FString > &WeaponAttachmentIDs, UDataTable *DataTable=nullptr)
 
static FString GetWeaponDisplayName (const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
 
static UTexture2D * GetWeaponThumbnail (const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static USkeletalMesh * GetWeaponMesh (const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static bool GetIsWeaponNonLethal (const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
 
static bool GetDoesWeaponHaveAutoMode (const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
 
static bool GetDoesWeaponHaveBurstMode (const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
 
static float GetWeaponReloadTime (const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static int32 GetWeaponMaxAmmo (const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
 
static int32 AddWeaponAmmo (const UObject *WorldContextObject, const FString &WeaponID, int32 AmmoToAdd, int32 &TotalAmmo, bool &bSuccess, UDataTable *DataTable=nullptr)
 

Member Function Documentation

◆ AddWeaponAmmo()

int32 UWeaponBPLib::AddWeaponAmmo ( const UObject * WorldContextObject,
const FString & WeaponID,
int32 AmmoToAdd,
int32 & TotalAmmo,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
369{
370 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
371 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::AddWeaponAmmo);
372
373 bSuccess = false;
374 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
375 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::AddWeaponAmmo WeaponStats Failed"));return 0;}
376
377 // if(!IsValid(DataTable)){UE_LOG(LogWeaponSystem,Warning, TEXT("Weapon Data Table - AddWeaponAmmo"));return 0;}
378 // const FWeaponStats_T* WeaponStatPtr = DataTable->FindRow<FWeaponStats_T>(FName(WeaponID), "");
379 // if(WeaponStatPtr == nullptr){UE_LOG(LogWeaponSystem,Warning,TEXT("Weapon Stats -AddWeaponAmmo")); return 0;}
380 const int32 MaxAmmo = WeaponStats.MaxAmmo;
381 //If the total ammo is less than the max ammo && the total ammo + the pickup ammo is less than the max ammo, simply add them together
382 if(TotalAmmo < MaxAmmo && (TotalAmmo + AmmoToAdd) <= MaxAmmo)
383 {
384 TotalAmmo = TotalAmmo + AmmoToAdd;
385 return 0;
386 }
387 // If the total ammo is less than max, && the amount to pickup will end up more than the Max ammo
388 if(TotalAmmo < MaxAmmo && (TotalAmmo + AmmoToAdd) > MaxAmmo)
389 {
390 TotalAmmo = MaxAmmo;
391 const int32 Remainder = (TotalAmmo + AmmoToAdd) - MaxAmmo;
392 return Remainder;
393 }
394 bSuccess = true;
395 // Should only cover if the ammo is Already Max
396 return AmmoToAdd;
397}
static FWeaponStats_T GetWeaponStats(const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:176
static int32 AddWeaponAmmo(const UObject *WorldContextObject, const FString &WeaponID, int32 AmmoToAdd, int32 &TotalAmmo, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:368
Represents statistics for a weapon.
Definition WeaponStructs.h:622
int32 MaxAmmo
Definition WeaponStructs.h:654

◆ GetDefaultWeaponData()

FWeaponData_T UWeaponBPLib::GetDefaultWeaponData ( const UObject * WorldContextObject,
const FString & WeaponID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
156{
157 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
158 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetDefaultWeaponData);
159
160 bSuccess = false;
161 if(!IsValid(DataTable))
162 {
163 UE_LOG(LogWeaponSystem, Log, TEXT("Loading GameState Weapon Pickup DataTable"));
164 DataTable = LoadWeaponPickupDataTableFromGameState(WorldContextObject);
165 if(!IsValid(DataTable))
166 {
167 return FWeaponData_T::Empty();
168 }
169 }
170 FWeaponData_T* WeaponDataPtr = DataTable->FindRow<FWeaponData_T>(FName(WeaponID), "");
171 if(WeaponDataPtr == nullptr){UE_LOG(LogWeaponSystem,Warning,TEXT("FWeaponData pointer null -GetDefaultWeaponData")); return FWeaponData_T::Empty();}
172 bSuccess = true;
173 return *WeaponDataPtr;
174}
static UDataTable * LoadWeaponPickupDataTableFromGameState(const UObject *WorldContextObject)
Definition WeaponBPLib.cpp:92
static FWeaponData_T GetDefaultWeaponData(const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:154
Struct representing data of a weapon that changes.
Definition WeaponStructs.h:861
static FWeaponData_T Empty()
Definition WeaponStructs.h:903

◆ GetDoesWeaponHaveAutoMode()

bool UWeaponBPLib::GetDoesWeaponHaveAutoMode ( const UObject * WorldContextObject,
const FString & WeaponID,
UDataTable * DataTable = nullptr )
static
322{
323 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
324 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetDoesWeaponHaveAutoMode);
325 bool bSuccess = false;
326 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
327 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetDoesWeaponHaveAutoMode WeaponStatsFailed"));return false;}
328 return WeaponStats.bHasAutoMode;
329}
static bool GetDoesWeaponHaveAutoMode(const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:321
bool bHasAutoMode
Definition WeaponStructs.h:700

◆ GetDoesWeaponHaveBurstMode()

bool UWeaponBPLib::GetDoesWeaponHaveBurstMode ( const UObject * WorldContextObject,
const FString & WeaponID,
UDataTable * DataTable = nullptr )
static
332{
333 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
334 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetDoesWeaponHaveBurstMode);
335
336 bool bSuccess = false;
337 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
338 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetDoesWeaponHaveBurstMode WeaponStats Failed"));return false;}
339 return WeaponStats.bHasBurstMode;
340}
static bool GetDoesWeaponHaveBurstMode(const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:331
bool bHasBurstMode
Definition WeaponStructs.h:703

◆ GetIsWeaponNonLethal()

bool UWeaponBPLib::GetIsWeaponNonLethal ( const UObject * WorldContextObject,
const FString & WeaponID,
UDataTable * DataTable = nullptr )
static
312{
313 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
314 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetIsWeaponNonLethal);
315 bool bSuccess = false;
316 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
317 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetIsWeaponNonLethal WeaponStatsFailed"));return false;}
318 return WeaponStats.bNonLethal;
319}
static bool GetIsWeaponNonLethal(const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:311
bool bNonLethal
Definition WeaponStructs.h:635

◆ GetWeaponAttachment()

FWeaponAttachment UWeaponBPLib::GetWeaponAttachment ( const UObject * WorldContextObject,
const FString & WeaponAttachmentID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
237{
238 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
239 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponAttachment);
240 bSuccess = false;
241 if(!IsValid(DataTable))
242 {
243 UE_LOG(LogWeaponSystem, Log, TEXT("Loading GameState Weapon DataTable"));
244 DataTable = LoadWeaponAttachmentDataTableFromGameState(WorldContextObject);
245 if(!IsValid(DataTable))
246 {
248 }
249 }
250 FWeaponAttachment* WeaponAttachmentPtr = DataTable->FindRow<FWeaponAttachment>(FName(WeaponAttachmentID), "");
251 if(WeaponAttachmentPtr == nullptr){UE_LOG(LogWeaponSystem,Warning,TEXT("WeaponAttachmentPtr -GetWeaponAttachment BP LIB")); return FWeaponAttachment::Empty();}
252 bSuccess = true;
253 return *WeaponAttachmentPtr;
254}
static FWeaponAttachment GetWeaponAttachment(const UObject *WorldContextObject, const FString &WeaponAttachmentID, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:235
static UDataTable * LoadWeaponAttachmentDataTableFromGameState(const UObject *WorldContextObject)
Definition WeaponBPLib.cpp:133
Definition WeaponStructs.h:501
static FWeaponAttachment Empty()
Definition WeaponStructs.h:538

◆ GetWeaponAttachmentTypes()

TArray< EAttachmentType > UWeaponBPLib::GetWeaponAttachmentTypes ( const UObject * WorldContextObject,
const TArray< FString > & WeaponAttachmentIDs,
UDataTable * DataTable = nullptr )
static
258{
259 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
260 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponAttachmentTypes);
261
262 TArray<EAttachmentType> WeaponAttachmentTypes;
263 for(const FString& WeaponAttachmentID : WeaponAttachmentIDs)
264 {
265 bool bAttachmentSuccess = false;
266 FWeaponAttachment WeaponAttachment = GetWeaponAttachment(WorldContextObject, WeaponAttachmentID, bAttachmentSuccess, DataTable);
267 if(bAttachmentSuccess)
268 {
269 WeaponAttachmentTypes.Add(WeaponAttachment.AttachmentType);
270 }
271 }
272 return WeaponAttachmentTypes;
273}
static TArray< EAttachmentType > GetWeaponAttachmentTypes(const UObject *WorldContextObject, const TArray< FString > &WeaponAttachmentIDs, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:256

◆ GetWeaponDisplayName()

FString UWeaponBPLib::GetWeaponDisplayName ( const UObject * WorldContextObject,
const FString & WeaponID,
UDataTable * DataTable = nullptr )
static
276{
277 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
278 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponDisplayName);
279
280 bool bSuccess = false;
281 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
282 if(!bSuccess){return "Default Name";}
283 return WeaponStats.WeaponDisplayName;
284}
static FString GetWeaponDisplayName(const UObject *WorldContextObject, const FString &WeaponID, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:275
FString WeaponDisplayName
Definition WeaponStructs.h:629

◆ GetWeaponEffects()

FWeaponEffects_T UWeaponBPLib::GetWeaponEffects ( const UObject * WorldContextObject,
const FString & WeaponID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
212{
213 bSuccess = false;
214 if(!IsValid(DataTable))
215 {
216 UE_LOG(LogWeaponSystem, Log, TEXT("Loading GameState Weapon Effects DataTable"));
217 DataTable = LoadWeaponEffectsDataTableFromGameState(WorldContextObject);
218 // if(!IsValid(DataTable))
219 // {
220 // UE_LOG(LogWeaponSystem, Log, TEXT("Loading Default Weapon DataTable"));
221 // DataTable = LoadDefaultWeaponDataTable();
222 // }
223 if(!IsValid(DataTable))
224 {
225 UE_LOG(LogWeaponSystem, Log, TEXT("Loading Effects Failed UWeaponBPLib::GetWeaponEffects DataTable"));
227 }
228 }
229 FWeaponEffects_T* WeaponEffectsPtr = DataTable->FindRow<FWeaponEffects_T>(FName(WeaponID), "");
230 if(WeaponEffectsPtr == nullptr){UE_LOG(LogWeaponSystem,Warning,TEXT("WeaponEffectsPtr UWeaponBPLib::GetWeaponEffects")); return FWeaponEffects_T::Empty();}
231 bSuccess = true;
232 return *WeaponEffectsPtr;
233}
static UDataTable * LoadWeaponEffectsDataTableFromGameState(const UObject *WorldContextObject)
Definition WeaponBPLib.cpp:54
Definition WeaponStructs.h:386
static FWeaponEffects_T Empty()
Definition WeaponStructs.h:424

◆ GetWeaponMaxAmmo()

int32 UWeaponBPLib::GetWeaponMaxAmmo ( const UObject * WorldContextObject,
const FString & WeaponID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static

TODO remove old Code

354{
355 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
356 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponMaxAmmo);
357
358 bSuccess = false;
359 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
360 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetWeaponMaxAmmo WeaponStats Failed"));return 0;}
361 return WeaponStats.MaxAmmo;
363 // if(!IsValid(DataTable)){UE_LOG(LogWeaponSystem,Warning, TEXT("Weapon Data Table - GetWeaponMaxAmmo"));return 0;}
364 // const FWeaponStats_T* WeaponStatPtr = DataTable->FindRow<FWeaponStats_T>(FName(WeaponID), "");
365 // if(WeaponStatPtr == nullptr){UE_LOG(LogWeaponSystem,Warning,TEXT("Weapon Stats -GetWeaponMaxAmmo")); return 0;}
366}
static int32 GetWeaponMaxAmmo(const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:353

◆ GetWeaponMesh()

USkeletalMesh * UWeaponBPLib::GetWeaponMesh ( const UObject * WorldContextObject,
const FString & WeaponID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
300{
301 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
302 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponMesh);
303 bSuccess = false;
304 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
305 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetWeaponMesh WeaponStatsFailed"));return nullptr;}
306 if(WeaponStats.MeshForPickup == nullptr){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetWeaponMesh MeshForPickup Missing for: %s"), *WeaponStats.WeaponID);return nullptr;}
307 return WeaponStats.MeshForPickup;
308
309}
static USkeletalMesh * GetWeaponMesh(const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:298
FString WeaponID
Definition WeaponStructs.h:627
class USkeletalMesh * MeshForPickup
Definition WeaponStructs.h:740

◆ GetWeaponReloadTime()

float UWeaponBPLib::GetWeaponReloadTime ( const UObject * WorldContextObject,
const FString & WeaponID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
343{
344 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
345 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponReloadTime);
346
347 bSuccess = false;
348 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
349 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetWeaponReloadTime WeaponStats Failed"));return 2.0f;}
350 return WeaponStats.ReloadTime;
351}
static float GetWeaponReloadTime(const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:342
float ReloadTime
Definition WeaponStructs.h:692

◆ GetWeaponStats()

FWeaponStats_T UWeaponBPLib::GetWeaponStats ( const UObject * WorldContextObject,
const FString & WeaponID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
177{
178 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
179 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponStats);
180 bSuccess = false;
181 if(!IsValid(DataTable))
182 {
183 UE_LOG(LogWeaponSystem, Log, TEXT("Loading GameState Weapon DataTable"));
184 DataTable = LoadWeaponDataTableFromGameState(WorldContextObject);
185 if(!IsValid(DataTable))
186 {
187 UE_LOG(LogWeaponSystem, Log, TEXT("Loading Default Weapon DataTable"));
188 DataTable = LoadDefaultWeaponDataTable();
189 }
190 if(!IsValid(DataTable))
191 {
192 return FWeaponStats_T::Empty();
193 }
194 }
195 FWeaponStats_T* WeaponStatPtr = DataTable->FindRow<FWeaponStats_T>(FName(WeaponID), "");
196 if(WeaponStatPtr == nullptr)
197 {
198 UBaseHelpersBPLib::PrintToLogWithCategory(WorldContextObject, LogWeaponSystem, FString::Printf(TEXT("UWeaponBPLib::GetWeaponStats -GetPtr, %s"), *WeaponID), false , true);
199 return FWeaponStats_T::Empty();
200 }
201 if(WeaponStatPtr->IsValid() == false)
202 {
203 UBaseHelpersBPLib::PrintToLogWithCategory(WorldContextObject, LogWeaponSystem, FString::Printf(TEXT("UWeaponBPLib::GetWeaponStats -Weapon INvalid, %s"), *WeaponID), false , true);
204 return FWeaponStats_T::Empty();
205 }
206 bSuccess = true;
207 return *WeaponStatPtr;
208}
static void PrintToLogWithCategory(const UObject *WorldContextObject, const FLogCategoryBase &Category, const FString &Message, const bool bWarning=false, const bool bError=false)
Definition BaseHelpersBPLib.cpp:105
static UDataTable * LoadWeaponDataTableFromGameState(const UObject *WorldContextObject)
Definition WeaponBPLib.cpp:34
static UDataTable * LoadDefaultWeaponDataTable()
Definition WeaponBPLib.cpp:15
bool IsValid() const
Definition WeaponStructs.h:842
static FWeaponStats_T Empty()
Definition WeaponStructs.h:766

◆ GetWeaponThumbnail()

UTexture2D * UWeaponBPLib::GetWeaponThumbnail ( const UObject * WorldContextObject,
const FString & WeaponID,
bool & bSuccess,
UDataTable * DataTable = nullptr )
static
288{
289 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
290 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::GetWeaponThumbnail);
291 bSuccess = false;
292 const FWeaponStats_T WeaponStats = GetWeaponStats(WorldContextObject, WeaponID, bSuccess, DataTable);
293 if(!bSuccess){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetWeaponThumbnail WeaponStatsFailed"));return nullptr;}
294 if(WeaponStats.WeaponThumbnail == nullptr){UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::GetWeaponThumbnail Thumbnail Missing for: %s"), *WeaponStats.WeaponID);return nullptr;}
295 return WeaponStats.WeaponThumbnail;
296}
static UTexture2D * GetWeaponThumbnail(const UObject *WorldContextObject, const FString &WeaponID, bool &bSuccess, UDataTable *DataTable=nullptr)
Definition WeaponBPLib.cpp:287
class UTexture2D * WeaponThumbnail
Definition WeaponStructs.h:736

◆ LoadDefaultWeaponAttachmentDataTable()

UDataTable * UWeaponBPLib::LoadDefaultWeaponAttachmentDataTable ( )
static

Returns Weapon Data Table, of default weapon pickups, found locally in WeaponSystem Plugin

114{
115 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
116 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::LoadDefaultWeaponPickupDataTable);
117 const FSoftObjectPath UnitDataTablePath = FSoftObjectPath(TEXT("/WeaponSystem/Data/DT_WeaponAttachments.DT_WeaponAttachments"));
118 UDataTable* DataTable = Cast<UDataTable>(UnitDataTablePath.ResolveObject());
119 if(DataTable)
120 {
121 return DataTable;
122 }
123 DataTable = Cast<UDataTable>(UnitDataTablePath.TryLoad());
124 if(DataTable)
125 {
126 return DataTable;
127 }
128 UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::LoadDefaultWeaponAttachmentDataTable FAILED"));
129 return nullptr;
130
131}
static UDataTable * LoadDefaultWeaponPickupDataTable()
Definition WeaponBPLib.cpp:73

◆ LoadDefaultWeaponDataTable()

UDataTable * UWeaponBPLib::LoadDefaultWeaponDataTable ( )
static

Returns Weapon Stats Data Table, Found Locally in WeaponSystem Plugin

16{
17 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
18 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::LoadDefaultWeaponDataTable);
19 const FSoftObjectPath UnitDataTablePath = FSoftObjectPath(TEXT("/WeaponSystem/Data/DT_WeaponStats.DT_WeaponStats"));
20 UDataTable* DataTable = Cast<UDataTable>(UnitDataTablePath.ResolveObject());
21 if(DataTable)
22 {
23 return DataTable;
24 }
25 DataTable = Cast<UDataTable>(UnitDataTablePath.TryLoad());
26 if(DataTable)
27 {
28 return DataTable;
29 }
30 UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::LoadDefaultWeaponDataTable Failed"));
31 return nullptr;
32}

◆ LoadDefaultWeaponPickupDataTable()

UDataTable * UWeaponBPLib::LoadDefaultWeaponPickupDataTable ( )
static

Returns Weapon Data Table, of default weapon pickups, found locally in WeaponSystem Plugin

74{
75 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
76 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::LoadDefaultWeaponPickupDataTable);
77 const FSoftObjectPath UnitDataTablePath = FSoftObjectPath(TEXT("/WeaponSystem/Data/DT_WeaponData.DT_WeaponData"));
78 UDataTable* DataTable = Cast<UDataTable>(UnitDataTablePath.ResolveObject());
79 if(DataTable)
80 {
81 return DataTable;
82 }
83 DataTable = Cast<UDataTable>(UnitDataTablePath.TryLoad());
84 if(DataTable)
85 {
86 return DataTable;
87 }
88 UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::LoadDefaultWeaponPickupDataTable FAILED"));
89 return nullptr;
90}

◆ LoadWeaponAttachmentDataTableFromGameState()

UDataTable * UWeaponBPLib::LoadWeaponAttachmentDataTableFromGameState ( const UObject * WorldContextObject)
static
134{
135 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
137#if WITH_EDITOR
138 if(UGameplayStatics::GetGameState(WorldContextObject) == nullptr)
139 {
140 UE_LOG(LogWeaponSystem, Log, TEXT("UWeaponBPLib::LoadWeaponAttachmentDataTableFromGameState EDITOR loading Default Attachment Data"));
142 }
143#endif
144
145 IIWeaponData* WeaponGameState = Cast<IIWeaponData>(UGameplayStatics::GetGameState(WorldContextObject));
146 if(WeaponGameState == nullptr)
147 {
148 UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::LoadWeaponAttachmentDataTableFromGameState GameState Failed"));
150 }
151 return WeaponGameState->GetWeaponAttachmentDataTable();
152}
Definition IWeaponData.h:21
virtual UDataTable * GetWeaponAttachmentDataTable()=0
static UDataTable * LoadDefaultWeaponAttachmentDataTable()
Definition WeaponBPLib.cpp:113

◆ LoadWeaponDataTableFromGameState()

UDataTable * UWeaponBPLib::LoadWeaponDataTableFromGameState ( const UObject * WorldContextObject)
static

Returns Weapon Stats Game State, if invalid uses LoadDefaultWeaponDataTable

35{
36 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
37 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::LoadWeaponDataTableFromGameState);
38#if WITH_EDITOR
39 if(UGameplayStatics::GetGameState(WorldContextObject) == nullptr)
40 {
42 }
43#endif
44
45 IIWeaponData* WeaponGameState = Cast<IIWeaponData>(UGameplayStatics::GetGameState(WorldContextObject));
46 if(WeaponGameState == nullptr)
47 {
48 UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::LoadWeaponDataTableFromGameState Game State Failed"));
50 }
51 return WeaponGameState->GetWeaponStatsDataTable();
52}
virtual UDataTable * GetWeaponStatsDataTable()=0

◆ LoadWeaponEffectsDataTableFromGameState()

UDataTable * UWeaponBPLib::LoadWeaponEffectsDataTableFromGameState ( const UObject * WorldContextObject)
static
55{
56 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
57 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::LoadWeaponEffectsDataTableFromGameState);
58// #if WITH_EDITOR
59// if(UGameplayStatics::GetGameState(WorldContextObject) == nullptr)
60// {
61// return LoadDefaultWeaponDataTable();
62// }
63// #endif
64 IIWeaponData* WeaponGameState = Cast<IIWeaponData>(UGameplayStatics::GetGameState(WorldContextObject));
65 if(WeaponGameState == nullptr)
66 {
67 UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::LoadWeaponEffectsDataTableFromGameState Game State Failed"));
68 return nullptr;
69 }
70 return WeaponGameState->GetWeaponEffectsDataTable();
71}
virtual UDataTable * GetWeaponEffectsDataTable()=0

◆ LoadWeaponPickupDataTableFromGameState()

UDataTable * UWeaponBPLib::LoadWeaponPickupDataTableFromGameState ( const UObject * WorldContextObject)
static

Returns Weapon Data Table, of default weapon pickups from GameState

93{
94 SCOPE_CYCLE_COUNTER(STATGROUP_Weapons_BPLib);
95 TRACE_CPUPROFILER_EVENT_SCOPE(UWeaponBPLib::LoadWeaponPickupDataTableFromGameState);
96#if WITH_EDITOR
97 if(UGameplayStatics::GetGameState(WorldContextObject) == nullptr)
98 {
99 UE_LOG(LogWeaponSystem, Log, TEXT("UWeaponBPLib::LoadWeaponPickupDataTableFromGameState EDITOR loading Default Pickup Data"));
101 }
102#endif
103
104 IIWeaponData* WeaponGameState = Cast<IIWeaponData>(UGameplayStatics::GetGameState(WorldContextObject));
105 if(WeaponGameState == nullptr)
106 {
107 UE_LOG(LogWeaponSystem, Warning, TEXT("UWeaponBPLib::LoadWeaponPickupDataTableFromGameState GameState Failed"));
109 }
110 return WeaponGameState->GetDefaultWeaponPickupDataTable();
111}
virtual UDataTable * GetDefaultWeaponPickupDataTable()=0

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