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/AgrarianPersistenceSubsystem.cpp
T

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);
}