63 lines
1.3 KiB
C++
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;
|
|
}
|