//====================================================================================================================
;var XdRsData = XdRsData || {};
//====================================================================================================================
// 下面添加快捷键与对应的场景。格式: 键盘键值:场景名
XdRsData.options = {
73:Scene_Item,
85:Scene_Equip
};
//====================================================================================================================
XdRsData.optionsKeys = Object.keys(XdRsData.options);
XdRsData.optionsKeys.forEach(function(key){ Input.keyMapper[key] = 'shortcutKey' + key; });
//====================================================================================================================
Scene_Base.prototype.isSceneMap = function() {
return this.constructor === Scene_Map;
};
Scene_Base.prototype.isLeisure = function() {
return this.isActive() && this.isReady() && !this.isBusy();
};
Scene_Base.prototype.selfShortcutKey = function() {
return XdRsData.optionsKeys.filter(this.isSelfShortcutKey.bind(this)).shift();
};
Scene_Base.prototype.isSelfShortcutKey = function(key) {
return XdRsData.options[key] === this.constructor;
};
XdRsData.optionsSBupdate = Scene_Base.prototype.update;
Scene_Base.prototype.update = function() {
XdRsData.optionsSBupdate.call(this);
this.updateShortcutKeyExit();
};
Scene_Base.prototype.updateShortcutKeyExit = function() {
if (this.isSceneMap() || !this.isLeisure()) return;
var key = this.selfShortcutKey();
if (key && Input.isTriggered('shortcutKey' + key)){
SoundManager.playCancel();
this.popScene();
}
};
//====================================================================================================================
XdRsData.optionsSMupdateScene = Scene_Map.prototype.updateScene;
Scene_Map.prototype.updateScene = function() {
XdRsData.optionsSMupdateScene.call(this);
this.canOperateShortcutKey() && this.updateKeyboardShortcuts();
};
Scene_Map.prototype.updateKeyboardShortcuts = function() {
for (var i=0;i<XdRsData.optionsKeys.length;i++) {
var key = XdRsData.optionsKeys[i];
if (this.isShortcutKeyOperated(key)) {
SoundManager.playOk();
SceneManager.push(XdRsData.options[key]);
}
}
};
Scene_Map.prototype.canOperateShortcutKey = function() {
if (SceneManager.isSceneChanging()) return false;
return $gamePlayer.canMove();
};
Scene_Map.prototype.isShortcutKeyOperated = function(key) {
if (XdRsData.options[key] === this.constructor) return false;
return Input.isTriggered('shortcutKey' + key);
};
//====================================================================================================================