core.hasSave()

This commit is contained in:
oc 2018-12-29 21:44:22 +08:00
parent 0fc665c987
commit c1e52800b1
6 changed files with 44 additions and 11 deletions

View File

@ -302,6 +302,11 @@ core.getLocalForage(key, defaultValue, successCallback, errorCallback)
如果成功则通过successCallback回调失败则通过errorCallback回调。 如果成功则通过successCallback回调失败则通过errorCallback回调。
core.hasSave(index)
判定当前某个存档位是否存在存档返回true/false。
index为存档编号0代表自动存档大于0则为正常的存档位。
core.clone(data) core.clone(data)
深拷贝某个对象。 深拷贝某个对象。

View File

@ -1854,6 +1854,9 @@ actions.prototype.clickSwitchs = function (x,y) {
case 6: case 6:
core.platform.useLocalForage=!core.platform.useLocalForage; core.platform.useLocalForage=!core.platform.useLocalForage;
core.setLocalStorage('useLocalForage', core.platform.useLocalForage); core.setLocalStorage('useLocalForage', core.platform.useLocalForage);
core.control.getSaveIndexes(function (indexes) {
core.saves.ids = indexes;
});
core.ui.drawSwitchs(); core.ui.drawSwitchs();
break; break;
case 7: case 7:
@ -2026,11 +2029,10 @@ actions.prototype.clickSyncSave = function (x,y) {
core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () { core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () {
for (var i=1;i<=5*(main.savePages||30);i++) { for (var i=1;i<=5*(main.savePages||30);i++) {
if (i<=data.length) { if (i<=data.length) {
// core.setLocalStorage("save"+i, data[i-1]);
core.setLocalForage("save"+i, data[i-1]); core.setLocalForage("save"+i, data[i-1]);
} }
else { else {
// core.removeLocalStorage("save"+i); if (core.saves.ids[i])
core.removeLocalForage("save"+i); core.removeLocalForage("save"+i);
} }
} }

View File

@ -2254,8 +2254,6 @@ control.prototype.syncLoad = function () {
case 0: case 0:
// 成功 // 成功
var data=JSON.parse(response.msg); var data=JSON.parse(response.msg);
// console.log(data);
if (data instanceof Array) { if (data instanceof Array) {
core.status.event.selection=1; core.status.event.selection=1;
core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () { core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () {
@ -2265,7 +2263,7 @@ control.prototype.syncLoad = function () {
core.setLocalForage("save"+i, data[i-1]); core.setLocalForage("save"+i, data[i-1]);
} }
else { else {
// core.removeLocalStorage("save"+i); if (core.saves.ids[i])
core.removeLocalForage("save"+i); core.removeLocalForage("save"+i);
} }
} }
@ -2277,7 +2275,6 @@ control.prototype.syncLoad = function () {
} }
else { else {
// 只覆盖单存档 // 只覆盖单存档
// core.setLocalStorage("save"+core.saves.saveIndex, data);
core.setLocalForage("save"+core.saves.saveIndex, data, function() { core.setLocalForage("save"+core.saves.saveIndex, data, function() {
core.drawText("同步成功!\n单存档已覆盖至存档"+core.saves.saveIndex); core.drawText("同步成功!\n单存档已覆盖至存档"+core.saves.saveIndex);
}); });
@ -2377,7 +2374,7 @@ control.prototype.getSaves = function (index, callback) {
return; return;
} }
var ids = Object.keys(core.saves.ids).sort(), number = ids.length; var ids = Object.keys(core.saves.ids).sort(function(a,b) {return a-b;}), number = ids.length;
// 不计0 // 不计0
var saves = []; var saves = [];
@ -2424,6 +2421,11 @@ control.prototype.getSaveIndexes = function (callback) {
} }
} }
////// 判断某个存档位是否存在存档 //////
control.prototype.hasSave = function (index) {
return core.saves.ids[index]||false;
}
////// 设置勇士属性 ////// ////// 设置勇士属性 //////
control.prototype.setStatus = function (statusName, statusVal) { control.prototype.setStatus = function (statusName, statusVal) {
if (statusName == 'exp') statusName = 'experience'; if (statusName == 'exp') statusName = 'experience';

View File

@ -1340,6 +1340,11 @@ core.prototype.http = function (type, url, formData, success, error, mimeType, r
core.utils.http(type, url, formData, success, error, mimeType, responseType) core.utils.http(type, url, formData, success, error, mimeType, responseType)
} }
////// 判断某个存档位是否存在存档 //////
core.prototype.hasSave = function (index) {
return core.control.hasSave(index);
}
////// 设置勇士属性 ////// ////// 设置勇士属性 //////
core.prototype.setStatus = function (statusName, statusVal) { core.prototype.setStatus = function (statusName, statusVal) {
core.control.setStatus(statusName, statusVal); core.control.setStatus(statusName, statusVal);

View File

@ -1253,6 +1253,11 @@ maps.prototype.setBlock = function (number, x, y, floorId) {
} }
if (floorId==core.status.floorId && !block.disable) { if (floorId==core.status.floorId && !block.disable) {
core.drawBlock(block); core.drawBlock(block);
if (originBlock == null) {
core.addGlobalAnimate(block);
core.syncGlobalAnimate();
}
core.updateStatusBar();
} }
} }
} }

View File

@ -129,6 +129,10 @@ utils.prototype.setLocalStorage = function(key, value) {
localStorage.setItem(core.firstData.name + "_" + key, str); localStorage.setItem(core.firstData.name + "_" + key, str);
} }
localStorage.removeItem("__tmp__"); localStorage.removeItem("__tmp__");
if (key == 'autoSave') core.saves.ids[0] = true;
else if (/^save\d+$/.test(key)) core.saves.ids[parseInt(key.substring(4))] = true;
return true; return true;
} }
catch (e) { catch (e) {
@ -162,6 +166,8 @@ utils.prototype.getLocalStorage = function(key, defaultValue) {
////// 移除本地存储 ////// ////// 移除本地存储 //////
utils.prototype.removeLocalStorage = function (key) { utils.prototype.removeLocalStorage = function (key) {
localStorage.removeItem(core.firstData.name+"_"+key); localStorage.removeItem(core.firstData.name+"_"+key);
if (key == 'autoSave') delete core.saves.ids[0];
else if (/^save\d+$/.test(key)) delete core.saves.ids[parseInt(key.substring(4))];
} }
utils.prototype.setLocalForage = function (key, value, successCallback, errorCallback) { utils.prototype.setLocalForage = function (key, value, successCallback, errorCallback) {
@ -187,7 +193,11 @@ utils.prototype.setLocalForage = function (key, value, successCallback, errorCal
if (core.isset(err)) { if (core.isset(err)) {
if (core.isset(errorCallback)) errorCallback(err); if (core.isset(errorCallback)) errorCallback(err);
} }
else if (core.isset(successCallback)) successCallback(); else {
if (key == 'autoSave') core.saves.ids[0] = true;
else if (/^save\d+$/.test(key)) core.saves.ids[parseInt(key.substring(4))] = true;
if (core.isset(successCallback)) successCallback();
}
}); });
} }
@ -238,7 +248,11 @@ utils.prototype.removeLocalForage = function (key, successCallback, errorCallbac
if (core.isset(err)) { if (core.isset(err)) {
if (core.isset(errorCallback)) errorCallback(err); if (core.isset(errorCallback)) errorCallback(err);
} }
else if (core.isset(successCallback)) successCallback(); else {
if (key == 'autoSave') delete core.saves.ids[0];
else if (/^save\d+$/.test(key)) delete core.saves.ids[parseInt(key.substring(4))];
if (core.isset(successCallback)) successCallback();
}
}) })
} }