// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Abilities/GameplayAbilityTargetTypes.h" #include "LyraGameplayAbilityTargetData_SingleTargetHit.generated.h" /** Game-specific additions to SingleTargetHit tracking */ USTRUCT() struct FLyraGameplayAbilityTargetData_SingleTargetHit : public FGameplayAbilityTargetData_SingleTargetHit { GENERATED_BODY() FLyraGameplayAbilityTargetData_SingleTargetHit() : CartridgeID(-1) { } virtual void AddTargetDataToContext(FGameplayEffectContextHandle& Context, bool bIncludeActorArray) const override; /** ID to allow the identification of multiple bullets that were part of the same cartridge */ UPROPERTY() int32 CartridgeID; bool NetSerialize(FArchive& Ar, class UPackageMap* Map, bool& bOutSuccess); virtual UScriptStruct* GetScriptStruct() const override { return FLyraGameplayAbilityTargetData_SingleTargetHit::StaticStruct(); } }; template<> struct TStructOpsTypeTraits : public TStructOpsTypeTraitsBase2 { enum { WithNetSerializer = true // For now this is REQUIRED for FGameplayAbilityTargetDataHandle net serialization to work }; };