Files
Naked-Desire/Source/NakedDesire/SaveGame/SaveSubsystem.cpp
T
2026-06-03 15:16:21 +03:00

44 lines
889 B
C++

#include "SaveSubsystem.h"
#include "GlobalSaveGameData.h"
#include "ItemSaveRecord.h"
void USaveSubsystem::LoadGame(const FString& SlotName)
{
CurrentSave = UGlobalSaveGameData::LoadGame(SlotName);
}
bool USaveSubsystem::SaveGame(const FString& SlotName) const
{
return UGlobalSaveGameData::SaveGame(CurrentSave, SlotName);
}
void USaveSubsystem::AddItem(const FItemSaveRecord& Record)
{
Items.Add(Record);
}
void USaveSubsystem::RemoveItem(const FGuid& InstanceId)
{
Items.RemoveAll([InstanceId](const FItemSaveRecord& Item)
{
return Item.InstanceId == InstanceId;
});
}
void USaveSubsystem::Initialize(FSubsystemCollectionBase& Collection)
{
Super::Initialize(Collection);
LoadGame();
}
UGlobalSaveGameData* USaveSubsystem::GetCurrentSave()
{
if (!CurrentSave)
{
CurrentSave = UGlobalSaveGameData::LoadOrCreateSaveGame(ActiveSlotName);
}
return CurrentSave;
}