sol-rui-after-mini/www/js/plugins/JsScript28Set.js
2024-01-30 18:01:34 -06:00

63 lines
2.1 KiB
JavaScript

/*:ja
* @plugindesc
*/
const PN_NChoicesBase = 120;
let ChoiseSelectNo = -1;
let NChoices_Select = Window_Selectable.prototype.select;
Window_Selectable.prototype.select = function(index) {
NChoices_Select.apply(this, arguments);
ChoiseSelectNo = index;
};
let NChoices_NUpdate = Game_Interpreter.prototype.NUpdate;
Game_Interpreter.prototype.NUpdate = function () {
NChoices_NUpdate.call(this);
if(ChoiseSelectNo != -1) {
console.log("選択されたのは:" + ChoiseSelectNo);
this.DelPictSpan(PN_NChoicesBase , PN_NChoicesBase + 2);
NChoicesDataArr.forEach( ckData => {
if (ckData.index == ChoiseSelectNo) {
for (let i = 0; i < ckData.textArr.length; i++) {
this.SetPicStr( PN_NChoicesBase + i , ckData.textArr[i] , ckData.size ,
ckData.posX , ckData.posY + i * ckData.saY);
}
}
});
ChoiseSelectNo = -1;
}
}
let NChoicesDataArr = [];
class NChoicesData {
constructor(index , textArr , size , posX , posY , saY){
this.index = index;
this.textArr = textArr;
this.size = size;
this.posX = posX;
this.posY = posY;
this.saY = saY;
}
}
let NChoices_Setting = function (index , textArr , size , posX , posY , saY) {
var size = typeof size !== 'undefined' ? size : 24;
var posX = typeof posX !== 'undefined' ? posX : 0;
var posY = typeof posY !== 'undefined' ? posY : 0;
var saY = typeof saY !== 'undefined' ? saY : 30;
let addFlg = true;
NChoicesDataArr.forEach( ckData => {
if (ckData.index == index) {
addFlg = false;
ckData.textArr = textArr;
ckData.size = size;
ckData.posX = posX;
ckData.posY = posY;
ckData.saY = saY;
}
});
if (addFlg) {
let setData = new NChoicesData(index , textArr , size , posX , posY , saY);
NChoicesDataArr.push(setData);
}
}
Game_Interpreter.prototype.NChoices_Clear = function () {
this.DelPictSpan(PN_NChoicesBase , PN_NChoicesBase + 2);
NChoicesDataArr = [];
}