#pragma once #include "CoreMinimal.h" #include "UObject/Interface.h" #include "SpellInteractable.generated.h" UINTERFACE(MinimalAPI, Blueprintable) class USpellInteractable : public UInterface { GENERATED_BODY() }; /** * Interface for objects that can be interacted with by spells. */ class WIZARDINGCENTRAL_API ISpellInteractable { GENERATED_BODY() public: /** * Called when the spell is cast on the object. * @param SpellName The name of the spell that was cast. */ UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Spell") void OnSpellCast(const FString& SpellName); };