34 lines
994 B
C++
34 lines
994 B
C++
// Copyright Pacificao. All Rights Reserved.
|
|
|
|
#include "AgrarianPersistenceSubsystem.h"
|
|
#include "AgrarianSaveGame.h"
|
|
#include "Kismet/GameplayStatics.h"
|
|
|
|
UAgrarianSaveGame* UAgrarianPersistenceSubsystem::CreateEmptySave() const
|
|
{
|
|
return Cast<UAgrarianSaveGame>(UGameplayStatics::CreateSaveGameObject(UAgrarianSaveGame::StaticClass()));
|
|
}
|
|
|
|
UAgrarianSaveGame* UAgrarianPersistenceSubsystem::LoadOrCreateSave() const
|
|
{
|
|
if (UGameplayStatics::DoesSaveGameExist(DefaultSlotName, UserIndex))
|
|
{
|
|
if (UAgrarianSaveGame* Loaded = Cast<UAgrarianSaveGame>(UGameplayStatics::LoadGameFromSlot(DefaultSlotName, UserIndex)))
|
|
{
|
|
return Loaded;
|
|
}
|
|
}
|
|
|
|
return CreateEmptySave();
|
|
}
|
|
|
|
bool UAgrarianPersistenceSubsystem::WriteSave(UAgrarianSaveGame* SaveGame) const
|
|
{
|
|
return SaveGame ? UGameplayStatics::SaveGameToSlot(SaveGame, DefaultSlotName, UserIndex) : false;
|
|
}
|
|
|
|
bool UAgrarianPersistenceSubsystem::DoesSaveExist() const
|
|
{
|
|
return UGameplayStatics::DoesSaveGameExist(DefaultSlotName, UserIndex);
|
|
}
|