95 lines
2.4 KiB
JavaScript
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;
|
|
|
|
})();
|