diff --git a/public_html/js/Main.js b/public_html/js/Main.js index d7be28e..8188c82 100644 --- a/public_html/js/Main.js +++ b/public_html/js/Main.js @@ -12,6 +12,7 @@ function run(data) { $(document).ready(function() { if ( (typeof rpyscript === 'undefined') || TextUtils.isEmpty(rpyscript)) { + rpyscript = "undefined"; run('play music music_list["everlasting_summer"]\n' + 'scene bg ext_square_day\n' + 'show mz smile pioneer far at fright\n' + diff --git a/public_html/js/Views.js b/public_html/js/Views.js index 141da98..03a599f 100644 --- a/public_html/js/Views.js +++ b/public_html/js/Views.js @@ -387,6 +387,13 @@ Views.prototype.showMainMenu = function () { $('#menu').hide(); views.saveState(); }); + var saves = JSON.parse(localStorage.saves || null) || {}; + saves[rpyscript] = saves[rpyscript] || []; + if (saves[rpyscript].length > 0) { + this.addMainMenuItem("Загрузить…", function() { + views.showLoadStateMenu(); + }); + } this.addMainMenuItem("Закрыть", function() { $('#menu').hide(); }); @@ -572,4 +579,33 @@ Views.prototype.createSave = function () { save.backgroundType = this.backgroundType; save.backgroundName = this.backgroundName; return save; +}; + +Views.prototype.showLoadStateMenu = function () { + var saves = JSON.parse(localStorage.saves || null) || {}; + var items = saves[rpyscript] || []; + + $('#menuTitle').text('Загрузить'); + $('#menuChoose').empty(); + this.addMainMenuItem("Закрыть", function() { + $('#menu').hide(); + }); + for(var i = items.length - 1; i >= 0; i--) { + var li = $('
  • ', {text: items[i].time}); + li.click(this.createLoadStateClickFunction(i, items[i])); + li.appendTo($('#menuChoose')); + } + $('#menu').show(); +}; +Views.prototype.createLoadStateClickFunction = function (index, save) { + var views = this; + return function () { + Variables.variables = save.variables; + views.characters.names = save.characterNames; + if (!TextUtils.isEmpty(save.backgroundName)) { + views.background(save.backgroundType, save.backgroundName, ""); + } + views.parser.setPosition(save.position); + $('#menu').hide(); + }; }; \ No newline at end of file