// Copyright Pacificao. All Rights Reserved. #include "AgrarianPersistenceSubsystem.h" #include "AgrarianSaveGame.h" #include "Kismet/GameplayStatics.h" UAgrarianSaveGame* UAgrarianPersistenceSubsystem::CreateEmptySave() const { return Cast(UGameplayStatics::CreateSaveGameObject(UAgrarianSaveGame::StaticClass())); } UAgrarianSaveGame* UAgrarianPersistenceSubsystem::LoadOrCreateSave() const { if (UGameplayStatics::DoesSaveGameExist(DefaultSlotName, UserIndex)) { if (UAgrarianSaveGame* Loaded = Cast(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); }