57 lines
2.1 KiB
C++
57 lines
2.1 KiB
C++
#pragma once
|
|
|
|
#include <Api/UnrealWrapper.hpp>
|
|
#include "PalIndividual.hpp"
|
|
#include "PalCharacter.hpp"
|
|
|
|
namespace PalUIExtension::Api::Pal
|
|
{
|
|
class PalIndividualCharacterHandle : public UnrealWrapper
|
|
{
|
|
public:
|
|
static auto ClassPath() -> const TCHAR* { return STR("/Script/Pal.PalIndividualCharacterHandle"); }
|
|
static auto DebugTag() -> const TCHAR* { return STR("PalIndividualCharacterHandle"); }
|
|
|
|
PalIndividualCharacterHandle() = default;
|
|
explicit PalIndividualCharacterHandle(UObject* Obj) : UnrealWrapper(Obj, ClassOf<PalIndividualCharacterHandle>(), DebugTag()) {}
|
|
|
|
auto TryGetIndividualParameterObject() -> UObject*
|
|
{
|
|
struct P { UObject* ReturnValue; } p{ nullptr };
|
|
auto Result = CallForReturn(STR("TryGetIndividualParameter"), p, &P::ReturnValue);
|
|
return (Result && *Result) ? *Result : nullptr;
|
|
}
|
|
|
|
auto TryGetIndividualActorObject() -> UObject*
|
|
{
|
|
struct P { UObject* ReturnValue; } p{ nullptr };
|
|
auto Result = CallForReturn(STR("TryGetIndividualActor"), p, &P::ReturnValue);
|
|
return (Result && *Result) ? *Result : nullptr;
|
|
}
|
|
|
|
auto TryGetIndividualActor() -> PalCharacter
|
|
{
|
|
UObject* A = TryGetIndividualActorObject();
|
|
return A ? PalCharacter{ A } : PalCharacter{};
|
|
}
|
|
|
|
auto TryGetPhantomActor(int32 PhantomId) -> UObject*
|
|
{
|
|
struct P { int32 PhantomId; UObject* ReturnValue; } p{ PhantomId, nullptr };
|
|
auto Result = CallForReturn(STR("TryGetPhantomActor"), p, &P::ReturnValue);
|
|
return (Result && *Result) ? *Result : nullptr;
|
|
}
|
|
|
|
auto GetPhantomIDByActor(UObject* Character) -> std::optional<int32>
|
|
{
|
|
struct P { UObject* Character; int32 ReturnValue; } p{ Character, 0 };
|
|
return CallForReturn(STR("GetPhantomIDByActor"), p, &P::ReturnValue);
|
|
}
|
|
|
|
auto GetInstanceIds() -> std::optional<FPalInstanceID>
|
|
{
|
|
return PalIndividual::GetInstanceIds(Get());
|
|
}
|
|
};
|
|
}
|