Mini

[UE5] Custom GE Context 본문

UE5/Advance Damage Techniques

[UE5] Custom GE Context

Mini_96 2024. 8. 14. 02:06

위 2개를 모방해서 커스텀타입을 만들거임.

 

일단 치명타, 블락 getter, setter만 만들어줌

#pragma once // 헤더2번포함방지

#include "GameplayEffectTypes.h"
#include "AuraAbilityTypes.generated.h" //generated_body 사용위해 필요

USTRUCT(BlueprintType)
struct FAuraGameplayEffectContext : public FGameplayEffectContext
{
	GENERATED_BODY()

public:

	//@Getter
	bool IsCriticalHit() const {return bIsCriticalHit ; }
	bool IsBlockHit() const { return bIsBlockedHit ; }

	//@Setter
	void SetIsCriticalHit(bool bInIsCriticalHit) {bIsCriticalHit = bInIsCriticalHit ; }
	void SetIsBlockHit(bool bInIsBlockHit) {bIsBlockedHit = bInIsBlockHit ; }


	/** Returns the actual struct used for serialization, subclasses must override this! */
	virtual UScriptStruct* GetScriptStruct() const
	{
		return FGameplayEffectContext::StaticStruct();
	}

	/** Custom serialization, subclasses must override this */
	virtual bool NetSerialize(FArchive& Ar, class UPackageMap* Map, bool& bOutSuccess);
	
protected:

	UPROPERTY()
	bool bIsBlockedHit = false;
	
	UPROPERTY()
	bool bIsCriticalHit = false;
};