//=============================================================================
// Window_Status
//=============================================================================
/*:
* @plugindesc 状态栏重新排版
*
*/
//-----------------------------------------------------------------------------
Window_Status.prototype = Object.create(Window_Selectable.prototype);
Window_Status.prototype.constructor = Window_Status;
Window_Status.prototype.initialize = function() {
var width = Graphics.boxWidth-200;
var height = Graphics.boxHeight-200;
Window_Selectable.prototype.initialize.call(this, 100, 50, width, height);
this.refresh();
this.activate();
};
Window_Status.prototype.setActor = function(actor) {
if (this._actor !== actor) {
this._actor = actor;
this.refresh();
}
};
Window_Status.prototype.refresh = function() {
this.contents.clear();
if (this._actor) {
var lineHeight = this.lineHeight();
this.drawBlock1(lineHeight * 0);
this.drawHorzLine(lineHeight * 1);
this.drawBlock2(lineHeight * 2);
this.drawHorzLine(lineHeight * 6);
this.drawBlock3(lineHeight * 7);
this.drawHorzLine(lineHeight * 13);
this.drawBlock4(lineHeight * 14);
}
};
Window_Status.prototype.drawBlock1 = function(y) {
this.drawActorName(this._actor, 192, y);
this.drawActorClass(this._actor, 192, y+40);
this.drawActorNickname(this._actor, 432, y);
};
Window_Status.prototype.drawBlock2 = function(y) {
this.drawActorFace(this._actor, 10, 10);
this.drawBasicInfo(200, y);
this.drawExpInfo(400, y);
};
//装备,能力值显示的位置
Window_Status.prototype.drawBlock3 = function(y) {
this.drawEquipments(10, y -50);//装备显示的位置
this.drawParameters(300, y -50);//能力值显示的位置
};
Window_Status.prototype.drawBlock4 = function(y) {
this.drawProfile(6, y);//人物简介
};
Window_Status.prototype.drawHorzLine = function(y) {
var lineY = y + this.lineHeight() / 2 - 1;
this.contents.paintOpacity = 48;
this.contents.fillRect(0, lineY, this.contentsWidth(), 2, this.lineColor());
this.contents.paintOpacity = 255;
};
Window_Status.prototype.lineColor = function() {
return this.normalColor();
};
//等级 异常状态图标 HP MP位置
Window_Status.prototype.drawBasicInfo = function(x, y) {
var lineHeight = this.lineHeight();
this.drawActorLevel(this._actor, x, y + lineHeight * 0);
this.drawActorIcons(this._actor, 10, y + lineHeight * 2+10);
this.drawActorHp(this._actor, x, y + lineHeight * 1);
this.drawActorMp(this._actor, x, y + lineHeight * 2);
};
//HP MP数值描绘
Window_Status.prototype.drawParameters = function(x, y) {
var lineHeight = this.lineHeight();
for (var i = 0; i < 6; i++) {
var paramId = i + 2;
var y2 = y + lineHeight * i;
this.changeTextColor(this.systemColor());
this.drawText(TextManager.param(paramId), x, y2, 160);
this.resetTextColor();
this.drawText(this._actor.param(paramId), x + 160, y2, 60, 'right');
}
};
//绘制经验值位置
Window_Status.prototype.drawExpInfo = function(x, y) {
var lineHeight = this.lineHeight();
var expTotal = TextManager.expTotal.format(TextManager.exp);
var expNext = TextManager.expNext.format(TextManager.level);
var value1 = this._actor.currentExp();
var value2 = this._actor.nextRequiredExp();
if (this._actor.isMaxLevel()) {
value1 = '-----';
value2 = '-----';
}
this.changeTextColor(this.systemColor());
this.drawText(expNext, x, y + lineHeight * 1, 0);
this.drawText(expTotal, x, y + lineHeight * 2, 0);
this.resetTextColor();
this.drawText(value2, x+80, y + lineHeight * 1, 270,'left');
this.drawText(value1, x+80, y + lineHeight * 2, 270,'left');
};
//装备显示
Window_Status.prototype.drawEquipments = function(x, y) {
var equips = this._actor.equips();
var count = Math.min(equips.length, this.maxEquipmentLines());
for (var i = 0; i < count; i++) {
this.drawItemName(equips[i], x, y + this.lineHeight() * i);
}
};
//显示简介
Window_Status.prototype.drawProfile = function(x, y) {
this.drawTextEx(this._actor.profile(), x, y);
};
Window_Status.prototype.maxEquipmentLines = function() {
return 6;
};
// Window_Status_xiamian
//
// The window for displaying full status on the status screen.
var Status_xiamian_create = Scene_Status.prototype.create
Scene_Status.prototype.create = function() {
Status_xiamian_create.call(this);
this._status_xiamianWindow = new Window_Status_xiamian();
this.addWindow(this._status_xiamianWindow);
};
var Status_xiamian_refreshActor = Scene_Status.prototype.refreshActor
Scene_Status.prototype.refreshActor = function() {
Status_xiamian_refreshActor.call(this);
var actor = this.actor();
this._status_xiamianWindow.setActor(actor);
};
function Window_Status_xiamian() {
this.initialize.apply(this, arguments);
}
Window_Status_xiamian.prototype = Object.create(Window_Selectable.prototype);
Window_Status_xiamian.prototype.constructor = Window_Status_xiamian;
Window_Status_xiamian.prototype.initialize = function() {
var width = Graphics.boxWidth;
var height = Graphics.boxHeight/4;
var x = 0
var y = 459
Window_Selectable.prototype.initialize.call(this, x, y, width, height);
this._actor = null;
this.refresh();
this.activate();
};
Window_Status_xiamian.prototype.setActor = function(actor) {
if (this._actor !== actor) {
this._actor = actor;
this.refresh();
}
};
Window_Status_xiamian.prototype.refresh = function() {
this.contents.clear();
if (!this._actor) {return}
console.log(this._actor)
this.drawTextEx(this._actor.profile(), 0, 0);
};
function Window_Status() {
this.initialize.apply(this, arguments);
}