// Copyright Pacificao. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "AgrarianInteractable.h" #include "AgrarianWaterSource.generated.h" class UStaticMeshComponent; UCLASS(Blueprintable) class AGRARIANGAME_API AAgrarianWaterSource : public AActor, public IAgrarianInteractable { GENERATED_BODY() public: AAgrarianWaterSource(); UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Agrarian|Water") TObjectPtr Mesh; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Water", meta = (ClampMin = "0")) float WaterRestoreAmount = 45.0f; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Water") FText DisplayName; virtual FText GetInteractionText_Implementation(const AAgrarianGameCharacter* Interactor) const override; virtual bool CanInteract_Implementation(const AAgrarianGameCharacter* Interactor) const override; virtual void Interact_Implementation(AAgrarianGameCharacter* Interactor) override; };