munokura
ユーザー
先日、質問したCommonPopupCoreをMZ用に移植を進めています。
github.com
とりあえず動作するところまでこぎ着けたのですが、Coreの名前通り付属のプラグインがあるというのもあり、できるだけ変更しないことを1つの方針として改変しました。
その中でMZでのプラグインコマンドで取得される値を、元のプラグインが要望している値に変換する処理を入れたのですが、「もぅどうにでもなーれ」(通称ゴリラ実装?)というコードで実現しています。
クソコードなのを自覚しているので、これをマシにする書き方をご指導ください。
根本から見直すべきプラグインの可能性は感じていますが、今回はコードの改善方法を求めているということで、お願いいたします。
MNKR-MZ-plugins/MNKR_CommonPopupCoreMZ.js at master · munokura/MNKR-MZ-plugins
Contribute to munokura/MNKR-MZ-plugins development by creating an account on GitHub.
とりあえず動作するところまでこぎ着けたのですが、Coreの名前通り付属のプラグインがあるというのもあり、できるだけ変更しないことを1つの方針として改変しました。
その中でMZでのプラグインコマンドで取得される値を、元のプラグインが要望している値に変換する処理を入れたのですが、「もぅどうにでもなーれ」(通称ゴリラ実装?)というコードで実現しています。
クソコードなのを自覚しているので、これをマシにする書き方をご指導ください。
根本から見直すべきプラグインの可能性は感じていますが、今回はコードの改善方法を求めているということで、お願いいたします。
JavaScript:
PluginManager.registerCommand(pluginName, "CommonPopupAdd", function (args) {
var argParam = new Array(
'add',
'text:' + String(args.text),
'eventId:' + String(args.eventId),
'count:' + String(args.count),
'delay:' + String(args.delay),
'moveX:' + String(args.moveX),
'moveY:' + String(args.moveY),
'sx:' + String(args.sx),
'sy:' + String(args.sy),
'pattern:' + String(args.pattern),
// 'back:' + String(args.back),
'bx:' + String(args.bx),
'by:' + String(args.by),
'extend:' + String(args.extend),
'fixed:' + String(args.fixed),
'anchorX:' + String(args.anchorX),
'anchorY:' + String(args.anchorY),
'slideCount:' + String(args.slideCount)
);
var eventId = 0;
for (var i = 0; i < argParam.length; i++) {
if (argParam[i].match(/^eventId:(.+)/g)) {
eventId = Number(RegExp.$1);
break;
}
}
var character = this.character(eventId);
var arg = CommonPopupManager.setPopup(argParam, character);
// if (arg.back > 0 || typeof arg.back === 'string') {
// CommonPopupManager.bltCheck(CommonPopupManager.makeBitmap(arg));
// CommonPopupManager._readyPopup.push(arg);
// } else {
CommonPopupManager._tempCommonSprites.setNullPos(arg);
// }
});