124 lines
3.2 KiB
JavaScript
124 lines
3.2 KiB
JavaScript
var Nore;
|
|
(function (Nore) {
|
|
function getBaseTexture() {
|
|
var baseTexture = PIXI.utils.BaseTextureCache["system/number"];
|
|
if (!baseTexture) {
|
|
var bitmap = ImageManager.loadSystem("number");
|
|
if (!bitmap.isReady()) {
|
|
return;
|
|
}
|
|
baseTexture = new PIXI.BaseTexture(bitmap._image);
|
|
baseTexture.resource.url = "system/number";
|
|
PIXI.utils.BaseTextureCache["system/number"] = baseTexture;
|
|
}
|
|
return baseTexture;
|
|
}
|
|
Nore.getBaseTexture = getBaseTexture;
|
|
Window_Base.prototype.drawNumber = function (num, x, y, w, align, type) {
|
|
drawNumber(num, x, y, w, align, type, this._windowContentsSprite);
|
|
};
|
|
Sprite.prototype.drawNumber = function (num, x, y, w, align, type, parent) {
|
|
drawNumber(num, x, y, w, align, type, parent || this);
|
|
};
|
|
Window_Base.prototype.drawNumberOne = function (index, x, y, type) {
|
|
var baseTexture = getBaseTexture();
|
|
if (!baseTexture) {
|
|
return;
|
|
}
|
|
switch (type) {
|
|
case 1:
|
|
var pw = 32;
|
|
var ph = 32;
|
|
var yy = 0;
|
|
var ww = 32;
|
|
break;
|
|
case 2:
|
|
var pw = 48;
|
|
var ph = 48;
|
|
var yy = 48 * 2;
|
|
var ww = 24;
|
|
break;
|
|
case 3:
|
|
var pw = 38;
|
|
var ph = 48;
|
|
var yy = 48 * 3;
|
|
var ww = 24;
|
|
break;
|
|
}
|
|
var texture = new PIXI.Texture(baseTexture);
|
|
texture.frame = new PIXI.Rectangle(index * pw, yy, pw, ph);
|
|
var sprite = new PIXI.Sprite(texture);
|
|
sprite.x = x;
|
|
sprite.y = y;
|
|
if (parent.paintOpacity !== undefined) {
|
|
sprite.alpha = parent.paintOpacity / 256;
|
|
}
|
|
this._windowContentsSprite.addChild(sprite);
|
|
};
|
|
function drawNumber(num, x, y, w, align, type, parent) {
|
|
var baseTexture = getBaseTexture();
|
|
if (!baseTexture) {
|
|
return;
|
|
}
|
|
var xx = 0;
|
|
switch (type) {
|
|
case 1:
|
|
var pw = 32;
|
|
var ph = 32;
|
|
var yy = 0;
|
|
var ww = 10;
|
|
break;
|
|
case 2:
|
|
var pw = 32;
|
|
var ph = 32;
|
|
var yy = 32;
|
|
var ww = 14;
|
|
break;
|
|
}
|
|
var str = num + "";
|
|
if (num < 0) {
|
|
str = Math.abs(num) + "";
|
|
}
|
|
var minusW = 0;
|
|
for (var i = 0; i < str.length; i++) {
|
|
var s;
|
|
if (align == "right") {
|
|
s = str[str.length - i - 1];
|
|
} else {
|
|
s = str[i];
|
|
}
|
|
var c = parseInt(s);
|
|
if (isNaN(c)) {
|
|
if (s == "%") {
|
|
c = 10;
|
|
} else if (s == ".") {
|
|
c = 10;
|
|
} else if (s == "/") {
|
|
c = 12;
|
|
} else {
|
|
c = 11;
|
|
}
|
|
minusW += -1;
|
|
}
|
|
var texture = new PIXI.Texture(baseTexture);
|
|
texture.frame = new PIXI.Rectangle(c * pw + xx, yy, pw, ph);
|
|
var sprite = new PIXI.Sprite(texture);
|
|
if (align == "right") {
|
|
sprite.x = x + w - (i + 1) * ww - 8 - minusW;
|
|
if (type == 1 && i == str.length - 1 && c == 1) {
|
|
//sprite.x += 2;
|
|
}
|
|
} else {
|
|
sprite.x = x + i * ww;
|
|
}
|
|
if (parent.paintOpacity !== undefined) {
|
|
sprite.alpha = parent.paintOpacity / 256;
|
|
}
|
|
sprite.y = y;
|
|
parent.addChild(sprite);
|
|
if (c == 10) {
|
|
minusW += -5;
|
|
}
|
|
}
|
|
}
|
|
})(Nore || (Nore = {}));
|