initial commit; cv 0.0.3
This commit is contained in:
101
Api/Mod/PalStatus_PalNumber.hpp
Normal file
101
Api/Mod/PalStatus_PalNumber.hpp
Normal file
@@ -0,0 +1,101 @@
|
||||
#pragma once
|
||||
|
||||
#include <optional>
|
||||
#include <cstring>
|
||||
|
||||
#include <Unreal/FText.hpp>
|
||||
#include <Unreal/NameTypes.hpp>
|
||||
|
||||
#include <Api/UmgTypes.hpp>
|
||||
#include <Api/UnrealWrapper.hpp>
|
||||
#include <Api/Widget.hpp>
|
||||
#include <Api/UserWidget.hpp>
|
||||
#include <Api/WidgetTree.hpp>
|
||||
#include <Api/TextBlock.hpp>
|
||||
#include <Api/CanvasPanel.hpp>
|
||||
|
||||
#include <Api/Pal/PalIndividual.hpp>
|
||||
#include <Api/Pal/PalIndividualCharacterHandle.hpp>
|
||||
#include <Api/Pal/PalIndividualCharacterParameter.hpp>
|
||||
|
||||
using namespace PalUIExtension::Api::Pal;
|
||||
|
||||
namespace PalUIExtension::Api::Mod
|
||||
{
|
||||
|
||||
class PalStatus_PalNumberWidget : public UserWidget
|
||||
{
|
||||
public:
|
||||
|
||||
static auto ClassPath() -> const TCHAR* {
|
||||
return STR("/Game/Mods/PalUIExtension/PalStatus_PalNumber.PalStatus_PalNumber_C");
|
||||
}
|
||||
|
||||
static auto WidgetTreePath() -> const TCHAR* {
|
||||
return STR("/Game/Mods/PalUIExtension/PalStatus_PalNumber.PalStatus_PalNumber_C:WidgetTree");
|
||||
}
|
||||
|
||||
|
||||
|
||||
static auto DebugTag() -> const TCHAR* { return STR("PalStatus_PalNumber"); }
|
||||
|
||||
PalStatus_PalNumberWidget() = default;
|
||||
|
||||
explicit PalStatus_PalNumberWidget(UObject* Obj) : UserWidget(Obj, ClassOf<PalStatus_PalNumberWidget>(), DebugTag()) {
|
||||
|
||||
}
|
||||
|
||||
auto GetBindedHandle() -> UObject*
|
||||
{
|
||||
struct P { UObject* returnValue; } p{ nullptr };
|
||||
if (!CallForReturn(STR("GetBindedHandle"), p, &P::returnValue)) return nullptr;
|
||||
return p.returnValue;
|
||||
}
|
||||
|
||||
auto GetBindedName() -> std::optional<FName>
|
||||
{
|
||||
struct P { FName returnValue; } p{ FName{} };
|
||||
if (!CallForReturn(STR("GetBindedName"), p, &P::returnValue)) return std::nullopt;
|
||||
return p.returnValue;
|
||||
}
|
||||
|
||||
auto CurrentHandle() -> PalIndividualCharacterHandle
|
||||
{
|
||||
UObject* H = GetBindedHandle();
|
||||
return H ? PalIndividualCharacterHandle{ H } : PalIndividualCharacterHandle{};
|
||||
}
|
||||
|
||||
|
||||
auto HasBinding() -> bool
|
||||
{
|
||||
return CallForReturn<bool>(STR("GetHasBinding")).value_or(false);
|
||||
}
|
||||
// ---- calls ---------------------------------------------------
|
||||
|
||||
struct SetPalNumberTextFrame { FString text; };
|
||||
|
||||
auto SetPalNumberText(const FString& text) -> bool {
|
||||
SetPalNumberTextFrame p{text};
|
||||
if (!Call(STR("SetPalNumberText"), p)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
auto SetPalBinding(FPalInstanceID _target) -> std::optional<FName>{
|
||||
struct P {
|
||||
FPalInstanceID TargetInstanceId;
|
||||
FName ResolvedName;
|
||||
UObject* GetIndivCharacterParamReturnVal;
|
||||
bool IsValid;
|
||||
FName GetCharacterIdReturnVal;
|
||||
} p{ _target, FName{} };
|
||||
if (!CallForReturn(STR("SetPalBinding"), p, &P::ResolvedName)) return std::nullopt;
|
||||
return p.ResolvedName;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
PalStatus_PalNumberWidget(UObject* Obj, UClass* Expected, const TCHAR* Tag)
|
||||
: UserWidget(Obj, Expected, Tag) {
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user