작성 코드

.h

 
#pragma once  
  
#include "CoreMinimal.h"  
#include "BaseItem.h"  
#include "HealingItem.generated.h"  
  
UCLASS()  
class COINGAME_API AHealingItem : public ABaseItem  
{  
    GENERATED_BODY()  
  
public:  
    AHealingItem();  
  
protected:  
    // 회복량  
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Healing")  
    int32 HealAmount;  
  
    virtual void ActivateItem(AActor* Activator) override;  
};
 

.cpp

 
#include "HealingItem.h"  
#include "SpartaCharacter.h"  
  
AHealingItem::AHealingItem()  
{  
	HealAmount = 20.0f;  
    ItemType = "Healing";  
}  
  
void AHealingItem::ActivateItem(AActor* Activator)  
{  
    if (Activator && Activator->ActorHasTag("Player"))  
	{
		if (ASpartaCharacter* PlayerCharacter = Cast<ASpartaCharacter>(Activator))
		{   
			// 캐릭터의 체력을 회복  
			PlayerCharacter->AddHealth(HealAmount);  
		}     
	    DestroyItem();  
	}
}
 

자세한 설명

.h

 
 
 

.cpp