This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

42 lines
1.4 KiB
C++

// 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<UStaticMeshComponent> Mesh;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Agrarian|Water|Visuals")
TObjectPtr<UStaticMeshComponent> WaterSurfaceProxy;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Agrarian|Water|Visuals")
TObjectPtr<UStaticMeshComponent> StoneBankProxy;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Agrarian|Water|Visuals")
TObjectPtr<UStaticMeshComponent> CollectMarkerProxy;
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;
};