prison-brave/js/plugins/DebugSwitch.js
2025-08-28 10:38:20 -05:00

95 lines
2.4 KiB
JavaScript

//=============================================================================
// RPG Maker MZ - Debug Switch
//
// Copyright 2024 Panzer-IV. All rights reserved.
// This source code or any portion thereof must not be
// reproduced or used without licensed in any manner whatsoever.
//=============================================================================
/*:
* @target MZ
* @plugindesc デバッグスイッチプラグイン
* @author 四号戦車
* @base PluginCommonBase
* @orderAfter PluginCommonBase
*
* @param debug
* @text デバッグモード
* @desc デバッグの有効/無効を切り換えます
* @type boolean
* @default false
* @on 有効
* @off 無効
*
*/
(() => {
"use strict";
const pluginName = "DebugSwitch";
const script = document.currentScript;
const param = PluginManagerEx.createParameter(script);
class DebugSwitch {
static isEnable() {
return param.debug && Utils.isOptionValid("test");
}
}
window.DebugSwitch = DebugSwitch;
let _debugLebel = 2; // debug
class Logger {
static ERROR = 'error';
static WORN = 'worn';
static DEBUG = 'debug';
static VERBOSE = 'verbose';
static DEBUG_LEVELS = {
'error': 4,
'worn': 3,
'debug': 2,
'verbose': 1,
};
static setLevel(level) {
Logger.log(`level changed: ${level}`);
const num = Logger.DEBUG_LEVELS[level];
_debugLebel = !!num ? num : 0;
}
static e(text) {
if (_debugLebel <= Logger.DEBUG_LEVELS[Logger.ERROR]) {
Logger.log(text)
}
}
static w(text) {
if (_debugLebel <= Logger.DEBUG_LEVELS[Logger.WORN]) {
Logger.log(text)
}
}
static d(text) {
if (_debugLebel <= Logger.DEBUG_LEVELS[Logger.DEBUG]) {
Logger.log(text)
}
}
static v(text) {
if (_debugLebel <= Logger.DEBUG_LEVELS[Logger.VERBOSE]) {
Logger.log(text)
}
}
static log(text) {
if (DebugSwitch.isEnable()) {
console.log(text);
}
}
constructor() {
}
}
window.Logger = Logger;
})();