123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using UnityEditor;
- namespace UnityGameFramework.Editor
- {
- /// <summary>
- /// 日志脚本宏定义。
- /// </summary>
- public static class LogScriptingDefineSymbols
- {
- private const string EnableLogScriptingDefineSymbol = "ENABLE_LOG";
- private const string EnableDebugAndAboveLogScriptingDefineSymbol = "ENABLE_DEBUG_AND_ABOVE_LOG";
- private const string EnableInfoAndAboveLogScriptingDefineSymbol = "ENABLE_INFO_AND_ABOVE_LOG";
- private const string EnableWarningAndAboveLogScriptingDefineSymbol = "ENABLE_WARNING_AND_ABOVE_LOG";
- private const string EnableErrorAndAboveLogScriptingDefineSymbol = "ENABLE_ERROR_AND_ABOVE_LOG";
- private const string EnableFatalAndAboveLogScriptingDefineSymbol = "ENABLE_FATAL_AND_ABOVE_LOG";
- private const string EnableDebugLogScriptingDefineSymbol = "ENABLE_DEBUG_LOG";
- private const string EnableInfoLogScriptingDefineSymbol = "ENABLE_INFO_LOG";
- private const string EnableWarningLogScriptingDefineSymbol = "ENABLE_WARNING_LOG";
- private const string EnableErrorLogScriptingDefineSymbol = "ENABLE_ERROR_LOG";
- private const string EnableFatalLogScriptingDefineSymbol = "ENABLE_FATAL_LOG";
- private static readonly string[] AboveLogScriptingDefineSymbols = new string[]
- {
- EnableDebugAndAboveLogScriptingDefineSymbol,
- EnableInfoAndAboveLogScriptingDefineSymbol,
- EnableWarningAndAboveLogScriptingDefineSymbol,
- EnableErrorAndAboveLogScriptingDefineSymbol,
- EnableFatalAndAboveLogScriptingDefineSymbol
- };
- private static readonly string[] SpecifyLogScriptingDefineSymbols = new string[]
- {
- EnableDebugLogScriptingDefineSymbol,
- EnableInfoLogScriptingDefineSymbol,
- EnableWarningLogScriptingDefineSymbol,
- EnableErrorLogScriptingDefineSymbol,
- EnableFatalLogScriptingDefineSymbol
- };
- /// <summary>
- /// 禁用所有日志脚本宏定义。
- /// </summary>
- [MenuItem("Game Framework/Log Scripting Define Symbols/Disable All Logs", false, 30)]
- public static void DisableAllLogs()
- {
- ScriptingDefineSymbols.RemoveScriptingDefineSymbol(EnableLogScriptingDefineSymbol);
- foreach (string specifyLogScriptingDefineSymbol in SpecifyLogScriptingDefineSymbols)
- {
- ScriptingDefineSymbols.RemoveScriptingDefineSymbol(specifyLogScriptingDefineSymbol);
- }
- foreach (string aboveLogScriptingDefineSymbol in AboveLogScriptingDefineSymbols)
- {
- ScriptingDefineSymbols.RemoveScriptingDefineSymbol(aboveLogScriptingDefineSymbol);
- }
- }
- /// <summary>
- /// 开启所有日志脚本宏定义。
- /// </summary>
- [MenuItem("Game Framework/Log Scripting Define Symbols/Enable All Logs", false, 31)]
- public static void EnableAllLogs()
- {
- DisableAllLogs();
- ScriptingDefineSymbols.AddScriptingDefineSymbol(EnableLogScriptingDefineSymbol);
- }
- /// <summary>
- /// 开启调试及以上级别的日志脚本宏定义。
- /// </summary>
- [MenuItem("Game Framework/Log Scripting Define Symbols/Enable Debug And Above Logs", false, 32)]
- public static void EnableDebugAndAboveLogs()
- {
- SetAboveLogScriptingDefineSymbol(EnableDebugAndAboveLogScriptingDefineSymbol);
- }
- /// <summary>
- /// 开启信息及以上级别的日志脚本宏定义。
- /// </summary>
- [MenuItem("Game Framework/Log Scripting Define Symbols/Enable Info And Above Logs", false, 33)]
- public static void EnableInfoAndAboveLogs()
- {
- SetAboveLogScriptingDefineSymbol(EnableInfoAndAboveLogScriptingDefineSymbol);
- }
- /// <summary>
- /// 开启警告及以上级别的日志脚本宏定义。
- /// </summary>
- [MenuItem("Game Framework/Log Scripting Define Symbols/Enable Warning And Above Logs", false, 34)]
- public static void EnableWarningAndAboveLogs()
- {
- SetAboveLogScriptingDefineSymbol(EnableWarningAndAboveLogScriptingDefineSymbol);
- }
- /// <summary>
- /// 开启错误及以上级别的日志脚本宏定义。
- /// </summary>
- [MenuItem("Game Framework/Log Scripting Define Symbols/Enable Error And Above Logs", false, 35)]
- public static void EnableErrorAndAboveLogs()
- {
- SetAboveLogScriptingDefineSymbol(EnableErrorAndAboveLogScriptingDefineSymbol);
- }
- /// <summary>
- /// 开启严重错误及以上级别的日志脚本宏定义。
- /// </summary>
- [MenuItem("Game Framework/Log Scripting Define Symbols/Enable Fatal And Above Logs", false, 36)]
- public static void EnableFatalAndAboveLogs()
- {
- SetAboveLogScriptingDefineSymbol(EnableFatalAndAboveLogScriptingDefineSymbol);
- }
- /// <summary>
- /// 设置日志脚本宏定义。
- /// </summary>
- /// <param name="aboveLogScriptingDefineSymbol">要设置的日志脚本宏定义。</param>
- public static void SetAboveLogScriptingDefineSymbol(string aboveLogScriptingDefineSymbol)
- {
- if (string.IsNullOrEmpty(aboveLogScriptingDefineSymbol))
- {
- return;
- }
- foreach (string i in AboveLogScriptingDefineSymbols)
- {
- if (i == aboveLogScriptingDefineSymbol)
- {
- DisableAllLogs();
- ScriptingDefineSymbols.AddScriptingDefineSymbol(aboveLogScriptingDefineSymbol);
- return;
- }
- }
- }
- /// <summary>
- /// 设置日志脚本宏定义。
- /// </summary>
- /// <param name="specifyLogScriptingDefineSymbols">要设置的日志脚本宏定义。</param>
- public static void SetSpecifyLogScriptingDefineSymbols(string[] specifyLogScriptingDefineSymbols)
- {
- if (specifyLogScriptingDefineSymbols == null || specifyLogScriptingDefineSymbols.Length <= 0)
- {
- return;
- }
- bool removed = false;
- foreach (string specifyLogScriptingDefineSymbol in specifyLogScriptingDefineSymbols)
- {
- if (string.IsNullOrEmpty(specifyLogScriptingDefineSymbol))
- {
- continue;
- }
- foreach (string i in SpecifyLogScriptingDefineSymbols)
- {
- if (i == specifyLogScriptingDefineSymbol)
- {
- if (!removed)
- {
- removed = true;
- DisableAllLogs();
- }
- ScriptingDefineSymbols.AddScriptingDefineSymbol(specifyLogScriptingDefineSymbol);
- break;
- }
- }
- }
- }
- }
- }
|