// Copyright (c) 2026 GregOrigin. All Rights Reserved.
#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "Damageable.generated.h"

UINTERFACE(MinimalAPI, Blueprintable)
class UDamageable : public UInterface
{
	GENERATED_BODY()
};

class CODEFORGE_API IDamageable
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintNativeEvent, Category = "RPG")
	void ReceiveDamage(float Amount);

	UFUNCTION(BlueprintNativeEvent, Category = "RPG")
	float GetCurrentHealth() const;

	UFUNCTION(BlueprintNativeEvent, Category = "RPG")
	bool GetIsAlive() const;
};