Files
PHY/Plugins/GGS/Source/GenericUISystem/Private/UI/Actions/GUIS_UIAction.cpp
2026-03-03 01:23:02 +08:00

63 lines
1.3 KiB
C++

// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
#include "UI/Actions/GUIS_UIAction.h"
UGUIS_UIAction::UGUIS_UIAction(const FObjectInitializer& ObjectInitializer): Super(ObjectInitializer)
{
}
bool UGUIS_UIAction::IsCompatible(const UObject* Data) const
{
return IsCompatibleInternal(Data);
}
bool UGUIS_UIAction::CanInvokeInternal_Implementation(const UObject* Data, APlayerController* PlayerController) const
{
// 与其他验证不同, 这个默认不通过, Override里修改
return false;
}
bool UGUIS_UIAction::CanInvoke(const UObject* Data, APlayerController* PlayerController) const
{
return CanInvokeInternal(Data, PlayerController);
}
void UGUIS_UIAction::InvokeAction(const UObject* Data, APlayerController* PlayerController) const
{
// if (CanInvoke(Data, User))
{
InvokeActionInternal(Data, PlayerController);
}
}
FText UGUIS_UIAction::GetActionName() const
{
return DisplayName;
}
FName UGUIS_UIAction::GetActionID() const
{
return ActionID;
}
bool UGUIS_UIAction::IsCompatibleInternal_Implementation(const UObject* Data) const
{
return true;
}
void UGUIS_UIAction::InvokeActionInternal_Implementation(const UObject* Data, APlayerController* PlayerController) const
{
}
UWorld* UGUIS_UIAction::GetWorld() const
{
if (UObject* Outer = GetOuter())
{
return Outer->GetWorld();
}
return nullptr;
}