quickEquip

This commit is contained in:
oc 2018-10-29 02:12:58 +08:00
parent 2dad906e7e
commit 77ceb015e4
3 changed files with 61 additions and 8 deletions

View File

@ -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();

View File

@ -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);
}
////// 点击(触摸)事件按下时 //////

View File

@ -262,4 +262,47 @@ items.prototype.compareEquipment = function (compareEquipId, beComparedEquipId)
compareMdef -= (beComparedEquip.equip||{}).mdef || 0;
}
return {"atk":compareAtk,"def":compareDef,"mdef":compareMdef};
}
}
////// 保存装备 //////
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<equipSize;i++) {
var v = current[i];
if (core.isset(v) && !core.hasItem(v) && !core.hasEquip(v)) {
core.drawTip("你当前没有"+((core.material.items[v]||{}).name||"未知装备")+",无法换装");
return;
}
}
// 快速换装
if (!core.isset(core.status.hero.equipment)) core.status.hero.equipment = [];
for (var i=0;i<equipSize;i++) {
var now = core.status.hero.equipment[i]||null;
var to = current[i]||null;
if (now==to) continue;
if (to==null) {
this.unloadEquip(i);
core.status.route.push("unEquip:"+i);
}
else {
this.loadEquip(to);
core.status.route.push("equip:"+to);
}
}
core.drawTip("成功换上"+index+"号套装");
}