mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 02:42:22 +01:00
toys, ammo in bottom right kinda, fix lootin speeds, being inaccurate, playlist looting kindof, or some things just not working.
55 lines
995 B
C++
55 lines
995 B
C++
#pragma once
|
|
|
|
#include "Object.h"
|
|
|
|
#include "PersistentObjectPtr.h"
|
|
#include "SoftObjectPath.h"
|
|
#include "AssetPtr.h"
|
|
|
|
#include "reboot.h"
|
|
|
|
struct FSoftObjectPtr : public TPersistentObjectPtr<FSoftObjectPath>
|
|
{
|
|
public:
|
|
};
|
|
|
|
template<class T = UObject>
|
|
struct TSoftObjectPtr
|
|
{
|
|
public:
|
|
FSoftObjectPtr SoftObjectPtr;
|
|
|
|
bool IsValid()
|
|
{
|
|
if (Engine_Version <= 416)
|
|
{
|
|
auto& AssetPtr = *(TAssetPtr<T>*)this;
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return SoftObjectPtr.ObjectID.AssetPathName.ComparisonIndex.Value;
|
|
}
|
|
}
|
|
|
|
T* Get(UClass* ClassToLoad = nullptr, bool bTryToLoad = false)
|
|
{
|
|
if (Engine_Version <= 416)
|
|
{
|
|
auto& AssetPtr = *(TAssetPtr<T>*)this;
|
|
return AssetPtr.Get();
|
|
}
|
|
else
|
|
{
|
|
if (SoftObjectPtr.ObjectID.AssetPathName.ComparisonIndex.Value <= 0)
|
|
return nullptr;
|
|
|
|
if (bTryToLoad)
|
|
{
|
|
return LoadObject<T>(SoftObjectPtr.ObjectID.AssetPathName.ToString(), ClassToLoad);
|
|
}
|
|
|
|
return FindObject<T>(SoftObjectPtr.ObjectID.AssetPathName.ToString());
|
|
}
|
|
}
|
|
}; |