Added world items to save game

This commit is contained in:
koritsa
2026-05-28 22:36:29 +03:00
parent 1f3890c481
commit b0a0a89c44
8 changed files with 41 additions and 13 deletions
@@ -4,12 +4,14 @@
#include "Kismet/GameplayStatics.h"
#include "NakedDesire/Clothing/ClothingItem.h"
#include "NakedDesire/Clothing/ClothingItemInstance.h"
#include "NakedDesire/Interactables/ItemPickup.h"
#include "UObject/ConstructorHelpers.h"
#include "NakedDesire/Interactables/Wardrobe.h"
#include "NakedDesire/MissionBuilder/MissionsConfig.h"
#include "NakedDesire/MissionBuilder/MissionsManager.h"
#include "NakedDesire/Player/NakedDesireCharacter.h"
#include "NakedDesire/SaveGame/GlobalSaveGameData.h"
#include "NakedDesire/SaveGame/ItemSaveRecord.h"
#include "NakedDesire/SaveGame/SaveSubsystem.h"
void ANakedDesireGameMode::RestartGame()
@@ -67,6 +69,17 @@ void ANakedDesireGameMode::BeginPlay()
Wardrobe = WardrobeActor;
}
}
USaveSubsystem* SaveSubsystem = UGameplayStatics::GetGameInstance(GetWorld())->GetSubsystem<USaveSubsystem>();
for (const auto& Item : SaveSubsystem->GetCurrentSave()->WorldItems)
{
UClothingItemInstance* NewItemInstance = NewObject<UClothingItemInstance>(this);
NewItemInstance->Init(Item.Definition.Get());
NewItemInstance->Condition = Item.Condition;
NewItemInstance->SetInstanceId(Item.InstanceId);
AItemPickup* NewItemPickup = GetWorld()->SpawnActor<AItemPickup>(ItemPickupClass, Item.WorldTransform);
NewItemPickup->SetItem(NewItemInstance);
}
}
void ANakedDesireGameMode::RefreshDailyMissions()
@@ -6,6 +6,7 @@
#include "GameFramework/GameModeBase.h"
#include "NakedDesireGameMode.generated.h"
class AItemPickup;
class UClothingItemInstance;
class UMissionsConfig;
class AWardrobe;
@@ -49,6 +50,9 @@ protected:
private:
void RefreshDailyMissions();
UPROPERTY(EditDefaultsOnly, Category = "Items")
TSubclassOf<AItemPickup> ItemPickupClass;
};