Files
PalUIExtension/Api/Pal/PalIndividualCharacterHandle.hpp
2026-09-07 19:33:58 -04:00

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());
}
};
}