SaveCatalog
Вместе с классом SaveCatalog в пакете компонента TacSave предоставляется префаб (с тем же названием) для пользовательского интерфейса (UI) обеспечивающий сохранение игр. Внешний вид предоставлен ниже и обеспечивает разделение сохранений по директориям (прохождениям), позволяет сохранить и загрузить соответствующие файлы данных. Показ панели сохранения можно например реализовать в классе World нажатием F5 :
using Tac.Save;
public class World : MonoBehaviour
{
private SaveCatalog SaveCatalog;
private void Update()
{
if (Keyboard.current[Key.F5].wasPressedThisFrame)
{
if (SaveCatalog != null)
{
if (SaveCatalog.gameObject.activeSelf)
{
SaveCatalog.gameObject.SetActive(false);
}
else
{
SaveCatalog.gameObject.SetActive(true);
}
}
}
}
}
Префаб SaveCatalog должен быть помещен на сцену под элемент с Canvas в скрытом виде. Так же нужно поместить префаб DialogYouSure и перетянуть ссылку на него в класс SaveCatalog в поле DialogYouSure. Все остальные поля настроены по умолчанию.

Для реализации функциональности использует интерфейсы IDayNight и ISaveManager (см. на диаграмме).

Во время инициализации в компоненте World , нужно предоставить эти интерфейсы. Ниже пример кода, который это реализует.
DayNight = GetComponent<DayNight>();
...
GameObject ui = GameObject.Find("UI");
if (ui != null)
{
SaveCatalog = ui.GetComponentInChildren<SaveCatalog>(true);
SaveManager saveManager = GetComponent<SaveManager>();
saveManager.World = this;
SaveCatalog.ISaveManager = saveManager;
SaveCatalog.IDayNight = DayNight as IDayNight;
}
Класс SaveManager вам нужно реализовать самостоятельно, наследуясь от SaveManager0. Эта реализация позволит вам полностью контролировать сохранение данных и удаление/востановление объектов в сцене.