SaveCatalog

Вместе с классом SaveCatalog в пакете компонента TacSave предоставляется префаб (с тем же названием) для пользовательского интерфейса (UI) обеспечивающий сохранение игр. Внешний вид предоставлен ниже и обеспечивает разделение сохранений по директориям (прохождениям), позволяет сохранить и загрузить соответствующие файлы данных. Вызывается нажатием F5.

Префаб SaveCatalog должен быть помещен на сцену под элемент с Canvas в скрытом виде. Так же нужно поместить префаб DialogYouSure и перетянуть ссылку на него в класс SaveCatalog в поле DialogYouSure. Все остальные поля настроены по умолчанию.

alt

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

alt

Во время инициализации в компоненте 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. Эта реализация позволит вам полностью контролировать сохранение данных и удаление/востановление объектов в сцене.