diff --git a/libs/actions.js b/libs/actions.js index 1eab51f4..e0803368 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -71,10 +71,10 @@ actions.prototype.onkeyUp = function(e) { break; } } - this.keyUp(e.keyCode); + this.keyUp(e.keyCode, e.altKey); } else { if (e.keyCode==17) core.status.ctrlDown = false; - this.keyUp(e.keyCode); + this.keyUp(e.keyCode, e.altKey); } } @@ -187,7 +187,7 @@ actions.prototype.keyDown = function(keyCode) { } ////// 根据放开键的code来执行一系列操作 ////// -actions.prototype.keyUp = function(keyCode) { +actions.prototype.keyUp = function(keyCode, altKey) { if (core.isset(core.status.replay)&&core.status.replay.replaying &&core.status.event.id!='save'&&(core.status.event.id||"").indexOf('book')!=0&&core.status.event.id!='viewMaps') return; @@ -239,7 +239,7 @@ actions.prototype.keyUp = function(keyCode) { return; } if (core.status.event.id=='equipbox') { - this.keyUpEquipbox(keyCode); + this.keyUpEquipbox(keyCode, altKey); return; } if (core.status.event.id=='save' || core.status.event.id=='load' || core.status.event.id=='replayLoad') { @@ -288,6 +288,12 @@ actions.prototype.keyUp = function(keyCode) { if(!core.status.played) return; + // 0~9的AltKey + if (altKey && keyCode>=48 && keyCode<=57 && core.status.heroStop) { + core.items.quickLoadEquip(keyCode-48); + return; + } + switch (keyCode) { case 27: // ESC if (core.status.heroStop) @@ -1604,7 +1610,11 @@ actions.prototype.keyDownEquipbox = function (keycode) { } ////// 装备栏界面时,放开某个键的操作 ////// -actions.prototype.keyUpEquipbox = function (keycode) { +actions.prototype.keyUpEquipbox = function (keycode, altKey) { + if (altKey && keycode>=48 && keycode<=57) { + core.items.quickSaveEquip(keycode-48); + return; + } if (keycode==84){ core.ui.closePanel(); core.openToolbox(); diff --git a/libs/core.js b/libs/core.js index 392a1ba7..deea76b5 100644 --- a/libs/core.js +++ b/libs/core.js @@ -388,8 +388,8 @@ core.prototype.keyDown = function(keyCode) { } ////// 根据放开键的code来执行一系列操作 ////// -core.prototype.keyUp = function(keyCode) { - return core.actions.keyUp(keyCode); +core.prototype.keyUp = function(keyCode, altKey) { + return core.actions.keyUp(keyCode, altKey); } ////// 点击(触摸)事件按下时 ////// diff --git a/libs/items.js b/libs/items.js index 41f96b89..a576179e 100644 --- a/libs/items.js +++ b/libs/items.js @@ -262,4 +262,47 @@ items.prototype.compareEquipment = function (compareEquipId, beComparedEquipId) compareMdef -= (beComparedEquip.equip||{}).mdef || 0; } return {"atk":compareAtk,"def":compareDef,"mdef":compareMdef}; -} \ No newline at end of file +} + +////// 保存装备 ////// +items.prototype.quickSaveEquip = function (index) { + if (!core.isset(core.status.hero.equipment)) core.status.hero.equipment = []; + var saveEquips = core.getFlag("saveEquips", []); + saveEquips[index] = core.clone(core.status.hero.equipment); + core.setFlag("saveEquips", saveEquips); + core.drawTip("已保存"+index+"号套装"); +} + +////// 读取装备 ////// +items.prototype.quickLoadEquip = function (index) { + var current = core.getFlag("saveEquips", [])[index]; + if (!core.isset(current)) { + core.drawTip(index+"号套装不存在"); + return; + } + // 检查所有的装备 + var equipSize = (main.equipName||[]).length; + for (var i=0;i