|
//-----------------------------------------------------------------------------
// Scene_Equip
// 装备场景
// The scene class of the equipment screen.
// 处理 装备画面 的 场景类
function Scene_Equip() {
this.initialize.apply(this, arguments);
}
//设置原形
Scene_Equip.prototype = Object.create(Scene_MenuBase.prototype);
//设置创造者
Scene_Equip.prototype.constructor = Scene_Equip;
//初始化
Scene_Equip.prototype.initialize = function() {
Scene_MenuBase.prototype.initialize.call(this);
};
//创建
Scene_Equip.prototype.create = function() {
Scene_MenuBase.prototype.create.call(this);
this.createHelpWindow();
this.createStatusWindow();
this.createCommandWindow();
this.createSlotWindow();
this.createItemWindow();
this.refreshActor();
};
//创建状态窗口
Scene_Equip.prototype.createStatusWindow = function() {
this._statusWindow = new Window_EquipStatus(0, this._helpWindow.height);
this.addWindow(this._statusWindow);
};
//创建选择窗口
Scene_Equip.prototype.createCommandWindow = function() {
var wx = this._statusWindow.width;
var wy = this._helpWindow.height;
var ww = Graphics.boxWidth - this._statusWindow.width;
this._commandWindow = new Window_EquipCommand(wx, wy, ww);
this._commandWindow.setHelpWindow(this._helpWindow);
this._commandWindow.setHandler('equip', this.commandEquip.bind(this));
this._commandWindow.setHandler('optimize', this.commandOptimize.bind(this));
this._commandWindow.setHandler('clear', this.commandClear.bind(this));
this._commandWindow.setHandler('cancel', this.popScene.bind(this));
this._commandWindow.setHandler('pagedown', this.nextActor.bind(this));
this._commandWindow.setHandler('pageup', this.previousActor.bind(this));
this.addWindow(this._commandWindow);
};
//创建槽窗口
Scene_Equip.prototype.createSlotWindow = function() {
var wx = this._statusWindow.width;
var wy = this._commandWindow.y + this._commandWindow.height;
var ww = Graphics.boxWidth - this._statusWindow.width;
var wh = this._statusWindow.height - this._commandWindow.height;
this._slotWindow = new Window_EquipSlot(wx, wy, ww, wh);
this._slotWindow.setHelpWindow(this._helpWindow);
this._slotWindow.setStatusWindow(this._statusWindow);
this._slotWindow.setHandler('ok', this.onSlotOk.bind(this));
this._slotWindow.setHandler('cancel', this.onSlotCancel.bind(this));
this.addWindow(this._slotWindow);
};
//创建物品窗口
Scene_Equip.prototype.createItemWindow = function() {
var wx = 0;
var wy = this._statusWindow.y + this._statusWindow.height;
var ww = Graphics.boxWidth;
var wh = Graphics.boxHeight - wy;
this._itemWindow = new Window_EquipItem(wx, wy, ww, wh);
this._itemWindow.setHelpWindow(this._helpWindow);
this._itemWindow.setStatusWindow(this._statusWindow);
this._itemWindow.setHandler('ok', this.onItemOk.bind(this));
this._itemWindow.setHandler('cancel', this.onItemCancel.bind(this));
this._slotWindow.setItemWindow(this._itemWindow);
this.addWindow(this._itemWindow);
};
//刷新角色
Scene_Equip.prototype.refreshActor = function() {
var actor = this.actor();
this._statusWindow.setActor(actor);
this._slotWindow.setActor(actor);
this._itemWindow.setActor(actor);
};
//命令装备
Scene_Equip.prototype.commandEquip = function() {
this._slotWindow.activate();
this._slotWindow.select(0);
};
//命令最佳
Scene_Equip.prototype.commandOptimize = function() {
SoundManager.playEquip();
this.actor().optimizeEquipments();
this._statusWindow.refresh();
this._slotWindow.refresh();
this._commandWindow.activate();
};
//命令清除
Scene_Equip.prototype.commandClear = function() {
SoundManager.playEquip();
this.actor().clearEquipments();
this._statusWindow.refresh();
this._slotWindow.refresh();
this._commandWindow.activate();
};
//当槽确定
Scene_Equip.prototype.onSlotOk = function() {
this._itemWindow.activate();
this._itemWindow.select(0);
};
//当槽取消
Scene_Equip.prototype.onSlotCancel = function() {
this._slotWindow.deselect();
this._commandWindow.activate();
};
//当物品确定
Scene_Equip.prototype.onItemOk = function() {
SoundManager.playEquip();
this.actor().changeEquip(this._slotWindow.index(), this._itemWindow.item());
this._slotWindow.activate();
this._slotWindow.refresh();
this._itemWindow.deselect();
this._itemWindow.refresh();
this._statusWindow.refresh();
};
//当物品取消
Scene_Equip.prototype.onItemCancel = function() {
this._slotWindow.activate();
this._itemWindow.deselect();
};
//当角色改变
Scene_Equip.prototype.onActorChange = function() {
this.refreshActor();
this._commandWindow.activate();
};
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-5-12 22:51
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.