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
AgrarianGameArchive/Source/AgrarianGame/AgrarianWaterSource.cpp
T
2026-05-14 07:20:32 -07:00

42 lines
1.1 KiB
C++

// Copyright Pacificao. All Rights Reserved.
#include "AgrarianWaterSource.h"
#include "AgrarianGameCharacter.h"
#include "AgrarianSurvivalComponent.h"
#include "Components/StaticMeshComponent.h"
AAgrarianWaterSource::AAgrarianWaterSource()
{
bReplicates = true;
Mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));
RootComponent = Mesh;
Mesh->SetCollisionProfileName(TEXT("BlockAll"));
DisplayName = FText::FromString(TEXT("Fresh Water"));
}
FText AAgrarianWaterSource::GetInteractionText_Implementation(const AAgrarianGameCharacter* Interactor) const
{
return FText::Format(NSLOCTEXT("AgrarianWaterSource", "DrinkFromWaterSource", "Drink from {0}"), DisplayName);
}
bool AAgrarianWaterSource::CanInteract_Implementation(const AAgrarianGameCharacter* Interactor) const
{
return Interactor != nullptr && Interactor->GetSurvivalComponent() != nullptr;
}
void AAgrarianWaterSource::Interact_Implementation(AAgrarianGameCharacter* Interactor)
{
if (!HasAuthority() || !Interactor)
{
return;
}
if (UAgrarianSurvivalComponent* SurvivalComponent = Interactor->GetSurvivalComponent())
{
SurvivalComponent->AddWater(WaterRestoreAmount);
}
}