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回调。
core.hasSave(index)
判定当前某个存档位是否存在存档返回true/false。
index为存档编号0代表自动存档大于0则为正常的存档位。
core.clone(data)
深拷贝某个对象。

View File

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

View File

@ -2254,8 +2254,6 @@ control.prototype.syncLoad = function () {
case 0:
// 成功
var data=JSON.parse(response.msg);
// console.log(data);
if (data instanceof Array) {
core.status.event.selection=1;
core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () {
@ -2265,8 +2263,8 @@ control.prototype.syncLoad = function () {
core.setLocalForage("save"+i, data[i-1]);
}
else {
// core.removeLocalStorage("save"+i);
core.removeLocalForage("save"+i);
if (core.saves.ids[i])
core.removeLocalForage("save"+i);
}
}
core.drawText("同步成功!\n你的本地所有存档均已被覆盖。");
@ -2277,7 +2275,6 @@ control.prototype.syncLoad = function () {
}
else {
// 只覆盖单存档
// core.setLocalStorage("save"+core.saves.saveIndex, data);
core.setLocalForage("save"+core.saves.saveIndex, data, function() {
core.drawText("同步成功!\n单存档已覆盖至存档"+core.saves.saveIndex);
});
@ -2377,7 +2374,7 @@ control.prototype.getSaves = function (index, callback) {
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
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) {
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.prototype.hasSave = function (index) {
return core.control.hasSave(index);
}
////// 设置勇士属性 //////
core.prototype.setStatus = function (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) {
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.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;
}
catch (e) {
@ -162,6 +166,8 @@ utils.prototype.getLocalStorage = function(key, defaultValue) {
////// 移除本地存储 //////
utils.prototype.removeLocalStorage = function (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) {
@ -187,7 +193,11 @@ utils.prototype.setLocalForage = function (key, value, successCallback, errorCal
if (core.isset(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(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();
}
})
}