59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "StructUtils/InstancedStruct.h"
|
|
#include "Abilities/GameplayAbilityTargetTypes.h"
|
|
#include "GGA_GameplayAbilityTargetData_Payload.generated.h"
|
|
|
|
/**
|
|
*
|
|
*/
|
|
USTRUCT(BlueprintType)
|
|
struct GENERICGAMEPLAYABILITIES_API FGGA_GameplayAbilityTargetData_Payload : public FGameplayAbilityTargetData
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
virtual ~FGGA_GameplayAbilityTargetData_Payload() override
|
|
{
|
|
}
|
|
|
|
FGGA_GameplayAbilityTargetData_Payload()
|
|
{
|
|
};
|
|
|
|
FGGA_GameplayAbilityTargetData_Payload(const FInstancedStruct& InPayload)
|
|
: Payload(InPayload)
|
|
{
|
|
}
|
|
|
|
virtual UScriptStruct* GetScriptStruct() const override
|
|
{
|
|
return FGGA_GameplayAbilityTargetData_Payload::StaticStruct();
|
|
}
|
|
|
|
virtual FString ToString() const override
|
|
{
|
|
return TEXT("FGGA_GameplayAbilityTargetData_Payload");
|
|
}
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = Targeting)
|
|
FInstancedStruct Payload;
|
|
|
|
bool NetSerialize(FArchive& Ar, class UPackageMap* Map, bool& bOutSuccess)
|
|
{
|
|
return Payload.NetSerialize(Ar, Map, bOutSuccess);
|
|
};
|
|
};
|
|
|
|
|
|
template <>
|
|
struct TStructOpsTypeTraits<FGGA_GameplayAbilityTargetData_Payload> : public TStructOpsTypeTraitsBase2<FGGA_GameplayAbilityTargetData_Payload>
|
|
{
|
|
enum
|
|
{
|
|
WithNetSerializer = true, // For now this is REQUIRED for FGameplayAbilityTargetDataHandle net serialization to work
|
|
};
|
|
};
|