Новая игра, сохранение и загрузка
Когда начинается новая игра, все игровые объекты создаются в функции DataManager.createGameObjects, поэтому стоит переопределять ее, чтобы создавать собственные объекты.
Сохраняются данные в функции DataManager.makeSaveContents
Важное замечание: нельзя сохранять объекты, которые имеют графическую составляющую (окна, спрайты, битмапы). Но вы можете сохранять переменные этих объектов и после загрузки снова присваивать их.
Загружаются данные в функции DataManager.extractSaveContents
Важное замечание: если вы написали плагин, который сохраняет/загружает свои данные, и у вас есть старые сохранения, то они могут не работать, потому что в них нет этих новых данных. Вы можете добавить условие проверки существуют ли данные в сохранении
Пример на основе плагина Время (Game_Time):
Спойлер Скриншот:
В функции DataManager.createGameObjects создаются несколько объектов, при этом не нарушается создание игровых объектов (функции дополнена).
В функции DataManager.makeSaveContents мы записали в переменную contents игровые данные, которые были сохранены до нашей функции, затем сохраняются объекты плагина. Объект $Game_Time_Tint – спрайт. Мы не можем его сохранить, но мы можем сохранить его переменные, которые нужны для правильной работы при загрузке игры.
В функции DataManager.extractSaveContents мы сначала проверяем загрузили игровые данные, затем начали загружать свои данные. Условия нужны для совместимости плагина со старыми сохранениями, но в таком случае для этих объектов будут применены значения по умолчанию, которые определены в классах объектов.
Социальные закладки