Skip to content

Commit

Permalink
リファクタリング:プラグインパラメーター関連
Browse files Browse the repository at this point in the history
  • Loading branch information
munokura committed Dec 23, 2021
1 parent b6acafb commit 48949e2
Showing 1 changed file with 93 additions and 65 deletions.
158 changes: 93 additions & 65 deletions TMEventItemEx.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,74 +10,105 @@
//=============================================================================

/*:
* @plugindesc アイテム選択の処理にヘルプウィンドウを追加し、
* 個数表示の有無と表示行数をアイテムタイプごとに設定できます。
* @plugindesc アイテム選択の処理にヘルプウィンドウを追加し、個数表示の有無と表示行数をアイテムタイプごとに設定できます。
*
* @author tomoaky (http://hikimoki.sakura.ne.jp/)
* @author tomoaky
*
* @param helpWindowEnabledItem
* @text アイテム選択ヘルプ表示
* @desc アイテム選択でヘルプウィンドウを表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param helpWindowEnabledKey
* @text 大事なもの選択ヘルプ表示
* @desc 大事なもの選択でヘルプウィンドウを表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param helpWindowEnabledA
* @text 隠しアイテムA選択ヘルプ表示
* @desc 隠しアイテムA選択でヘルプウィンドウを表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param helpWindowEnabledB
* @text 隠しアイテムB選択ヘルプ表示
* @desc 隠しアイテムB選択でヘルプウィンドウを表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param showItemNumberItem
* @text アイテム数の表示
* @desc アイテムの個数を表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param showItemNumberKey
* @text 大事なもの数の表示
* @desc 大事なものの個数を表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param showItemNumberA
* @text 隠しアイテムA数の表示
* @desc 隠しアイテムAの個数を表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param showItemNumberB
* @text 隠しアイテムA数の表示
* @desc 隠しアイテムAの個数を表示するかどうか
* 初期値: 1( 0 で表示しない)
* @default 1
*
* 初期値: true( false で表示しない)
* @type boolean
* @default true
*
* @param numVisibleRowsItem
* @text アイテム表示行数
* @desc アイテム選択の表示行数
* 初期値: 4
* @type number
* @default 4
*
*
* @param numVisibleRowsKey
* @text 大事なもの表示行数
* @desc 大事なもの選択の表示行数
* 初期値: 4
* @type number
* @default 4
*
*
* @param numVisibleRowsA
* @text 隠しアイテムA表示行数
* @desc 隠しアイテムA選択の表示行数
* 初期値: 4
* @type number
* @default 4
*
*
* @param numVisibleRowsB
* @text 隠しアイテムB表示行数
* @desc 隠しアイテムB選択の表示行数
* 初期値: 4
* @type number
* @default 4
*
*
* @param fixPlacement
* @text ウィンドウ位置
* @desc メッセージウィンドウがない場合のウィンドウ位置
* 初期値: top ( top / bottom / 未設定で固定しない )
* @type select
* @option 上部
* @value top
* @option 下部
* @value bottom
* @option 固定しない
* @value
* @default top
*
* @help
Expand All @@ -92,9 +123,6 @@
*
* メモ欄タグとプラグインコマンドを使い、候補として表示するアイテムを
* さらに細かく分類することもできます。
*
* このプラグインは RPGツクールMV Version 1.3.4 で動作確認をしています。
*
*
* メモ欄タグ(アイテム):
*
Expand All @@ -121,31 +149,31 @@ Imported.TMEventItemEx = true;
var TMPlugin = TMPlugin || {};
TMPlugin.EventItemEx = {};
TMPlugin.EventItemEx.Parameters = PluginManager.parameters('TMEventItemEx');
TMPlugin.EventItemEx.HelpWindowEnabledItem = TMPlugin.EventItemEx.Parameters['helpWindowEnabledItem'] === '1';
TMPlugin.EventItemEx.HelpWindowEnabledKey = TMPlugin.EventItemEx.Parameters['helpWindowEnabledKey'] === '1';
TMPlugin.EventItemEx.HelpWindowEnabledA = TMPlugin.EventItemEx.Parameters['helpWindowEnabledA'] === '1';
TMPlugin.EventItemEx.HelpWindowEnabledB = TMPlugin.EventItemEx.Parameters['helpWindowEnabledB'] === '1';
TMPlugin.EventItemEx.ShowItemNumberItem = TMPlugin.EventItemEx.Parameters['showItemNumberItem'] === '1';
TMPlugin.EventItemEx.ShowItemNumberKey = TMPlugin.EventItemEx.Parameters['showItemNumberKey'] === '1';
TMPlugin.EventItemEx.ShowItemNumberA = TMPlugin.EventItemEx.Parameters['showItemNumberA'] === '1';
TMPlugin.EventItemEx.ShowItemNumberB = TMPlugin.EventItemEx.Parameters['showItemNumberB'] === '1';
TMPlugin.EventItemEx.HelpWindowEnabledItem = TMPlugin.EventItemEx.Parameters['helpWindowEnabledItem'] === 'true';
TMPlugin.EventItemEx.HelpWindowEnabledKey = TMPlugin.EventItemEx.Parameters['helpWindowEnabledKey'] === 'true';
TMPlugin.EventItemEx.HelpWindowEnabledA = TMPlugin.EventItemEx.Parameters['helpWindowEnabledA'] === 'true';
TMPlugin.EventItemEx.HelpWindowEnabledB = TMPlugin.EventItemEx.Parameters['helpWindowEnabledB'] === 'true';
TMPlugin.EventItemEx.ShowItemNumberItem = TMPlugin.EventItemEx.Parameters['showItemNumberItem'] === 'true';
TMPlugin.EventItemEx.ShowItemNumberKey = TMPlugin.EventItemEx.Parameters['showItemNumberKey'] === 'true';
TMPlugin.EventItemEx.ShowItemNumberA = TMPlugin.EventItemEx.Parameters['showItemNumberA'] === 'true';
TMPlugin.EventItemEx.ShowItemNumberB = TMPlugin.EventItemEx.Parameters['showItemNumberB'] === 'true';
TMPlugin.EventItemEx.NumVisibleRowsItem = +(TMPlugin.EventItemEx.Parameters['numVisibleRowsItem'] || 4);
TMPlugin.EventItemEx.NumVisibleRowsKey = +(TMPlugin.EventItemEx.Parameters['numVisibleRowsKey'] || 4);
TMPlugin.EventItemEx.NumVisibleRowsA = +(TMPlugin.EventItemEx.Parameters['numVisibleRowsA'] || 4);
TMPlugin.EventItemEx.NumVisibleRowsB = +(TMPlugin.EventItemEx.Parameters['numVisibleRowsB'] || 4);
TMPlugin.EventItemEx.FixPlacement = TMPlugin.EventItemEx.Parameters['fixPlacement'];
TMPlugin.EventItemEx.NumVisibleRowsKey = +(TMPlugin.EventItemEx.Parameters['numVisibleRowsKey'] || 4);
TMPlugin.EventItemEx.NumVisibleRowsA = +(TMPlugin.EventItemEx.Parameters['numVisibleRowsA'] || 4);
TMPlugin.EventItemEx.NumVisibleRowsB = +(TMPlugin.EventItemEx.Parameters['numVisibleRowsB'] || 4);
TMPlugin.EventItemEx.FixPlacement = TMPlugin.EventItemEx.Parameters['fixPlacement'];

(function() {
(function () {

//-----------------------------------------------------------------------------
// Game_Temp
//

Game_Temp.prototype.setEventItemSubCategory = function(category) {
Game_Temp.prototype.setEventItemSubCategory = function (category) {
this._eventItemSubCategory = category;
};

Game_Temp.prototype.eventItemSubCategory = function() {
Game_Temp.prototype.eventItemSubCategory = function () {
return this._eventItemSubCategory;
};

Expand All @@ -154,18 +182,18 @@ TMPlugin.EventItemEx.FixPlacement = TMPlugin.EventItemEx.Parameters['fixPl
//

var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
Game_Interpreter.prototype.pluginCommand = function (command, args) {
_Game_Interpreter_pluginCommand.call(this, command, args);
if (command === 'setEventItemSubCategory') {
$gameTemp.setEventItemSubCategory(args[0]);
}
};

//-----------------------------------------------------------------------------
// Window_EventItem
//

Window_EventItem.prototype.isHelpWindowEnabled = function() {
Window_EventItem.prototype.isHelpWindowEnabled = function () {
var itypeId = $gameMessage.itemChoiceItypeId();
if (itypeId === 1) {
return TMPlugin.EventItemEx.HelpWindowEnabledItem;
Expand All @@ -180,14 +208,14 @@ TMPlugin.EventItemEx.FixPlacement = TMPlugin.EventItemEx.Parameters['fixPl
};

var _Window_EventItem_start = Window_EventItem.prototype.start;
Window_EventItem.prototype.start = function() {
Window_EventItem.prototype.start = function () {
this.height = this.fittingHeight(this.numVisibleRows());
_Window_EventItem_start.call(this);
if (this.isHelpWindowEnabled()) this._helpWindow.open();
};

var _Window_EventItem_numVisibleRows = Window_EventItem.prototype.numVisibleRows;
Window_EventItem.prototype.numVisibleRows = function() {
Window_EventItem.prototype.numVisibleRows = function () {
var itypeId = $gameMessage.itemChoiceItypeId();
if (itypeId === 1) {
return TMPlugin.EventItemEx.NumVisibleRowsItem;
Expand All @@ -202,7 +230,7 @@ TMPlugin.EventItemEx.FixPlacement = TMPlugin.EventItemEx.Parameters['fixPl
};

var _Window_EventItem_updatePlacement = Window_EventItem.prototype.updatePlacement;
Window_EventItem.prototype.updatePlacement = function() {
Window_EventItem.prototype.updatePlacement = function () {
var enabled = this.isHelpWindowEnabled();
if (!$gameMessage.hasText() && TMPlugin.EventItemEx.FixPlacement) {
if (TMPlugin.EventItemEx.FixPlacement === 'top') {
Expand All @@ -223,51 +251,51 @@ TMPlugin.EventItemEx.FixPlacement = TMPlugin.EventItemEx.Parameters['fixPl
};

var _Window_EventItem_includes = Window_EventItem.prototype.includes;
Window_EventItem.prototype.includes = function(item) {
Window_EventItem.prototype.includes = function (item) {
if (!_Window_EventItem_includes.call(this, item)) return false;
var subCategory = $gameTemp.eventItemSubCategory();
return !subCategory || item.meta.subCategory === subCategory;
};

var _Window_EventItem_onOk = Window_EventItem.prototype.onOk;
Window_EventItem.prototype.onOk = function() {
Window_EventItem.prototype.onOk = function () {
_Window_EventItem_onOk.call(this);
this._helpWindow.close();
$gameTemp.setEventItemSubCategory(null);
};

var _Window_EventItem_onCancel = Window_EventItem.prototype.onCancel;
Window_EventItem.prototype.onCancel = function() {
Window_EventItem.prototype.onCancel = function () {
_Window_EventItem_onCancel.call(this);
this._helpWindow.close();
$gameTemp.setEventItemSubCategory(null);
};

Window_EventItem.prototype.needsNumber = function() {
Window_EventItem.prototype.needsNumber = function () {
var itypeId = $gameMessage.itemChoiceItypeId();
return (itypeId === 1 && TMPlugin.EventItemEx.ShowItemNumberItem) ||
(itypeId === 2 && TMPlugin.EventItemEx.ShowItemNumberKey) ||
(itypeId === 3 && TMPlugin.EventItemEx.ShowItemNumberA) ||
(itypeId === 4 && TMPlugin.EventItemEx.ShowItemNumberB);
(itypeId === 2 && TMPlugin.EventItemEx.ShowItemNumberKey) ||
(itypeId === 3 && TMPlugin.EventItemEx.ShowItemNumberA) ||
(itypeId === 4 && TMPlugin.EventItemEx.ShowItemNumberB);
};

//-----------------------------------------------------------------------------
// Window_Message
//

var _Window_Message_subWindows = Window_Message.prototype.subWindows;
Window_Message.prototype.subWindows = function() {
Window_Message.prototype.subWindows = function () {
var subWindows = _Window_Message_subWindows.call(this);
subWindows.push(this._helpWindow);
return subWindows;
};

var _Window_Message_createSubWindows = Window_Message.prototype.createSubWindows;
Window_Message.prototype.createSubWindows = function() {
Window_Message.prototype.createSubWindows = function () {
_Window_Message_createSubWindows.call(this);
this._helpWindow = new Window_Help();
this._helpWindow.openness = 0;
this._itemWindow.setHelpWindow(this._helpWindow);
};

})();
})();

0 comments on commit 48949e2

Please sign in to comment.