Cleanup of old seed stuff

This commit is contained in:
2026-09-17 21:43:02 +02:00
parent 69372fde46
commit 0af47d7bc3
36 changed files with 39 additions and 358 deletions

View File

@@ -74,18 +74,6 @@ TArray<UItemDataAsset*> UItemDatabase::GetItemsOfElement(Element InElement, Cate
return ItemList;
}
void UItemDatabase::WaterAllSeeds()
{
for (ASeedCarousel* Seed : SeedsPlanted)
{
if (IsValid(Seed))
{
Seed->Water();
}
}
}
bool UItemDatabase::DoChemicalAlignmentsMatch(TArray<int32> Alignments, TArray<int32> PotionAlignments)
{
for (int32 i = 0; i < PotionAlignments.Num(); i++)

View File

@@ -4,8 +4,6 @@
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "PotionItem.h"
#include "SeedCarousel.h"
#include "ItemContainer.h"
#include "DataAssets/ItemDataAsset.h"
@@ -72,13 +70,7 @@ public:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Item Database")
TMap<Category, FArrayOfItemRefs> LoadedItemsByCategory;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Item Database")
TArray<ASeedCarousel*> SeedsPlanted;
public:
UFUNCTION(BlueprintCallable, Category = "Item Database")
void WaterAllSeeds();
UFUNCTION(BlueprintCallable, Category = "Item Database")
bool DoChemicalAlignmentsMatch(TArray<int32> Alignments, TArray<int32> PotionAlignments);

View File

@@ -1,92 +0,0 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "SeedCarousel.h"
#include "ItemDatabase.h"
#include "Kismet/GameplayStatics.h"
#include "MyCharacter.h"
#include "ProjectEleri/System/MainBlueprintFunctionLibrary.h"
#include "ProjectEleri/System/EleriGameplayTags.h"
FSeedSaveData::FSeedSaveData(): SeedGrowTime(0), ProduceGrowTime(0), SeedAge(0), ProduceDaysSinceLastBloom(0),
SeedWateredTimes(0),
bBloomed(false),
bWatered(false),
bPlanted(false), bDied(false),
bPlayerInside(false),
bInfoDialogueOpen(false)
{
}
FSeedSaveData::FSeedSaveData(const ASeedCarousel* SeedActorRef)
{
if(!SeedActorRef) return;
ObjectTransform = SeedActorRef->GetTransform();
SeedGrowTime = SeedActorRef->SeedGrowTime;
ProduceGrowTime = SeedActorRef->ProduceGrowTime;
SeedAge = SeedActorRef->SeedAge;
ProduceDaysSinceLastBloom = SeedActorRef->ProduceDaysSinceLastBloom;
SeedWateredTimes = SeedActorRef->SeedWateredTimes;
bBloomed = SeedActorRef->bBloomed;
bWatered = SeedActorRef->bWatered;
bPlanted = SeedActorRef->bPlanted;
bDied = SeedActorRef->bDied;
bPlayerInside = SeedActorRef->bPlayerInside;
bInfoDialogueOpen = SeedActorRef->bInfoDialogueOpen;
bHighQuality = SeedActorRef->bHighQuality;
SeedAssetId = SeedActorRef->SeedAssetData->GetPrimaryAssetId();
}
void ASeedCarousel::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void ASeedCarousel::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
void ASeedCarousel::Water()
{
OnWatered.Broadcast();
}
void ASeedCarousel::LoadDataFromSaveStruct(FSeedSaveData& SaveStruct, UItemDatabase* ItemDatabase)
{
SeedGrowTime = SaveStruct.SeedGrowTime;
ProduceGrowTime = SaveStruct.ProduceGrowTime;
SeedAge = SaveStruct.SeedAge;
ProduceDaysSinceLastBloom = SaveStruct.ProduceDaysSinceLastBloom;
SeedWateredTimes = SaveStruct.SeedWateredTimes;
bBloomed = SaveStruct.bBloomed;
bWatered = SaveStruct.bWatered;
bPlanted = SaveStruct.bPlanted;
bDied = SaveStruct.bDied;
bHighQuality = SaveStruct.bHighQuality;
bPlayerInside = false;
bInfoDialogueOpen = false;
SeedAssetData = ItemDatabase->GetDataAssetFromId(SaveStruct.SeedAssetId);
}
void ASeedCarousel::SetSeedData(UItemDataAsset* InSeedAssetData)
{
if (!InSeedAssetData) return;
SeedAssetData = InSeedAssetData;
DataAssetId = InSeedAssetData->GetPrimaryAssetId();
}
bool ASeedCarousel::CanPlace()
{
/*if (UGameplayStatsComponent* GSC = UMainBlueprintFunctionLibrary::GetGameplayStatsComponentFromPlayer(this))
{
return GSC->GetGameplayStatValue(Stats::Energy) > 0;
}*/
return false;
}

View File

@@ -1,137 +0,0 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "DataAssets/ItemDataAsset.h"
#include "GameFramework/Actor.h"
#include "../GameObjects/RemovableStaticMeshActor.h"
#include "SeedCarousel.generated.h"
class UItemDatabase;
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnWatered);
USTRUCT(BlueprintType)
struct FSeedSaveData {
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FTransform ObjectTransform;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 SeedGrowTime;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 ProduceGrowTime;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 SeedAge;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 ProduceDaysSinceLastBloom;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 SeedWateredTimes;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bBloomed;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bWatered;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bPlanted;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bDied;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bPlayerInside;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bInfoDialogueOpen;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FPrimaryAssetId SeedAssetId;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bHighQuality;
FSeedSaveData();
FSeedSaveData(const ASeedCarousel* SeedActorRef);
};
UCLASS()
class PROJECTELERI_API ASeedCarousel : public ARemovableStaticMeshActor
{
GENERATED_BODY()
virtual void BeginPlay() override;
public:
UPROPERTY(BlueprintAssignable)
FOnWatered OnWatered;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 SeedGrowTime;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 ProduceGrowTime;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 SeedAge;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 ProduceDaysSinceLastBloom;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 SeedWateredTimes;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bBloomed;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bWatered;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bPlanted;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bDied;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bPlayerInside;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bInfoDialogueOpen;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UItemDataAsset* SeedAssetData;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bHighQuality;
protected:
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UFUNCTION(BlueprintImplementableEvent, BlueprintCallable)
void OnUpdatePlantEvent();
UFUNCTION(BlueprintCallable)
void Water();
void LoadDataFromSaveStruct(FSeedSaveData& SaveStruct, UItemDatabase* ItemDatabase);
UFUNCTION(BlueprintCallable)
void SetSeedData(UItemDataAsset* InSeedAssetData);
virtual bool CanPlace() override;
};