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

102 lines
3.8 KiB
JavaScript

// Copyright (c) 2016-2017 マンカインド
/*:
*
* @plugindesc
* @author マンカインド
*
* @help
* @param Default_Move_Flag
* @text 移動禁止スイッチ
* @desc ONの間、プレイヤーの移動を禁止するスイッチ番号を指定します。(デフォルト:10)
* @type switch
* @default 10
*
* @param Default_Menu_Flag
* @text メニュー開閉制御
* @desc プレイヤーの移動を禁止している間、メニューの開閉を許可するかどうかを設定します。(デフォルト:許可する)
* @type boolean
* @on 許可する
* @off 許可しない
* @default true
*
* @param Enter Flag
* @text 決定キー制御
* @desc プレイヤーの移動を禁止している間、決定キー/タッチ操作による動作を許可するかどうかを設定します。(デフォルト:許可する)
* @type boolean
* @on 許可する
* @off 許可しない
* @default true
*
*/
(function () {
'use strict';
const PN = "JsScript16Set";
const CheckParam = function(type, param, def, min, max) {
let Parameters, regExp, value;
Parameters = PluginManager.parameters(PN);
if(arguments.length < 4) {
min = -Infinity;
max = Infinity;
}
if(arguments.length < 5) {
max = Infinity;
}
if(param in Parameters) {
value = String(Parameters[param]);
} else {
throw new Error("[CheckParam] プラグインパラメーターがありません: " + param);
}
switch(type) {
case "bool":
if(value == "") {
value = (def)? true : false;
}
value = value.toUpperCase() === "ON" || value.toUpperCase() === "TRUE" || value.toUpperCase() === "1";
break;
case "switch":
if(value == "") {
value = (def != "")? def : value;
}
if(!value.match(/^(\d+)$/i)) {
throw new Error("[CheckParam] " + param + "の値がスイッチではありません: " + param + " : " + value);
}
break;
default:
throw new Error("[CheckParam] " + param + "のタイプが不正です: " + type);
break;
}
return [value, type, def, min, max, param];
}
const Params = {
"MoveSwitch" : CheckParam("switch", "Default_Move_Flag", "10"),
"MenuFlg" : CheckParam("bool", "Default_Menu_Flag", true),
"EnterFlg" : CheckParam("bool", "Enter Flag", true),
};
const _Game_System_isMenuEnabled = Game_System.prototype.isMenuEnabled;
Game_System.prototype.isMenuEnabled = function() {
return _Game_System_isMenuEnabled.call(this)
&& ($gameSwitches.value(Params.MoveSwitch[0]) ? Params.MenuFlg[0] == true : true);
};
const _Game_Player_executeMove = Game_Player.prototype.executeMove;
Game_Player.prototype.executeMove = function(direction) {
if(!$gameSwitches.value(Params.MoveSwitch[0])) {
_Game_Player_executeMove.call(this, direction);
}
};
const _Game_Player_triggerButtonAction = Game_Player.prototype.triggerButtonAction;
Game_Player.prototype.triggerButtonAction = function() {
if($gameSwitches.value(Params.MoveSwitch[0]) && !Params.EnterFlg[0]) {
} else {
_Game_Player_triggerButtonAction.call(this);
}
return false;
};
const _Game_Player_triggerTouchAction = Game_Player.prototype.triggerTouchAction;
Game_Player.prototype.triggerTouchAction = function() {
if($gameSwitches.value(Params.MoveSwitch[0]) && !Params.EnterFlg[0]) {
} else {
_Game_Player_triggerTouchAction.call(this);
}
return false;
};
})();