This commit is contained in:
陈思海 2026-04-17 14:21:46 +08:00
parent e54d2144df
commit a9dc53e068
9 changed files with 21 additions and 82 deletions

View File

@ -9,7 +9,7 @@ namespace AlicizaX.Editor
{
internal sealed class EventMonitorWindow : EditorWindow
{
private const string MenuPath = "Tools/AlicizaX/Event/事件监视器";
private const string MenuPath = "AlicizaX/Event 监视器";
private const double RepaintIntervalSeconds = 0.25d;
private const float DefaultLeftPanelWidth = 360f;
private const float MinLeftPanelWidth = 260f;

View File

@ -12,7 +12,7 @@ namespace AlicizaX.Localization.Editor
internal sealed class LocalizationSettingsProvider : EditorWindow
{
private const string WindowTitle = "Localization Settings";
private const string MenuPath = "Tools/AlicizaX/Localization/Open Localization Settings";
private const string MenuPath = "AlicizaX/Localization/Open Localization Settings";
private SerializedObject _serializedObject;
private SerializedProperty _languageTypes;

View File

@ -89,7 +89,7 @@ namespace AlicizaX.Localization.Editor
EditorGUILayout.EndHorizontal();
}
[MenuItem("Tools/AlicizaX/Localization/Open Localization Editor")]
[MenuItem("AlicizaX/Localization/Open Localization Editor")]
private static void OpenLocalizationEditor()
{
EditorWindow window = EditorWindow.GetWindow<LocalizationTableWindow>(false, "Localization Editor", true);
@ -99,11 +99,11 @@ namespace AlicizaX.Localization.Editor
public static void OpenSettings()
{
EditorApplication.ExecuteMenuItem("Tools/AlicizaX/Localization/Open Localization Settings");
EditorApplication.ExecuteMenuItem("AlicizaX/Localization/Open Localization Settings");
}
[MenuItem("Tools/AlicizaX/Localization/Create Localization Table")]
[MenuItem("AlicizaX/Localization/Create Localization Table")]
private static void CreateLocalizationTable()
{
string selectedFolderPath = "Assets";

View File

@ -1,46 +0,0 @@
using AlicizaX.Editor;
using UnityEditor;
using UnityEngine;
namespace AlicizaX.Editor
{
internal static class EventScriptingDefineSymbols
{
private const string MenuPath = "Tools/AlicizaX/Event/Event Strict Check";
private const string DefineSymbol = "Event_StrictCheck";
[MenuItem(MenuPath)]
private static void ToggleStrictCheck()
{
bool enabled = IsEnabled();
SetEnabled(!enabled);
}
[MenuItem(MenuPath, true)]
private static bool ToggleStrictCheckValidate()
{
Menu.SetChecked(MenuPath, IsEnabled());
return true;
}
private static bool IsEnabled()
{
return ScriptingDefineSymbols.HasScriptingDefineSymbol(EditorUserBuildSettings.selectedBuildTargetGroup, DefineSymbol);
}
private static void SetEnabled(bool enabled)
{
var targetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
if (enabled)
{
ScriptingDefineSymbols.AddScriptingDefineSymbol(targetGroup, DefineSymbol);
}
else
{
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(targetGroup, DefineSymbol);
}
Debug.Log($"[EventKit] Strict Check {(enabled ? "Enabled" : "Disabled")}");
}
}
}

View File

@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: a0f666b24d9c41c4a355f9a9a643928b
timeCreated: 1756782190

View File

@ -40,7 +40,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 禁用所有日志脚本宏定义。
/// </summary>
[MenuItem("Tools/AlicizaX/Scripting Define Symbols/Disable All Logs", false, 30)]
[MenuItem("AlicizaX/Scripting Define Symbols/Disable All Logs", false, 30)]
public static void DisableAllLogs()
{
ScriptingDefineSymbols.RemoveScriptingDefineSymbol(EnableLogScriptingDefineSymbol);
@ -59,7 +59,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 开启所有日志脚本宏定义。
/// </summary>
[MenuItem("Tools/AlicizaX/Scripting Define Symbols/Enable All Logs", false, 31)]
[MenuItem("AlicizaX/Scripting Define Symbols/Enable All Logs", false, 31)]
public static void EnableAllLogs()
{
DisableAllLogs();
@ -69,7 +69,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 开启调试及以上级别的日志脚本宏定义。
/// </summary>
[MenuItem("Tools/AlicizaX/Scripting Define Symbols/Enable Debug And Above Logs", false, 32)]
[MenuItem("AlicizaX/Scripting Define Symbols/Enable Debug And Above Logs", false, 32)]
public static void EnableDebugAndAboveLogs()
{
SetAboveLogScriptingDefineSymbol(EnableDebugAndAboveLogScriptingDefineSymbol);
@ -78,7 +78,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 开启信息及以上级别的日志脚本宏定义。
/// </summary>
[MenuItem("Tools/AlicizaX/Scripting Define Symbols/Enable Info And Above Logs", false, 33)]
[MenuItem("AlicizaX/Scripting Define Symbols/Enable Info And Above Logs", false, 33)]
public static void EnableInfoAndAboveLogs()
{
SetAboveLogScriptingDefineSymbol(EnableInfoAndAboveLogScriptingDefineSymbol);
@ -87,7 +87,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 开启警告及以上级别的日志脚本宏定义。
/// </summary>
[MenuItem("Tools/AlicizaX/Scripting Define Symbols/Enable Warning And Above Logs", false, 34)]
[MenuItem("AlicizaX/Scripting Define Symbols/Enable Warning And Above Logs", false, 34)]
public static void EnableWarningAndAboveLogs()
{
SetAboveLogScriptingDefineSymbol(EnableWarningAndAboveLogScriptingDefineSymbol);
@ -96,7 +96,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 开启错误及以上级别的日志脚本宏定义。
/// </summary>
[MenuItem("Tools/AlicizaX/Scripting Define Symbols/Enable Error And Above Logs", false, 35)]
[MenuItem("AlicizaX/Scripting Define Symbols/Enable Error And Above Logs", false, 35)]
public static void EnableErrorAndAboveLogs()
{
SetAboveLogScriptingDefineSymbol(EnableErrorAndAboveLogScriptingDefineSymbol);
@ -105,7 +105,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 开启严重错误及以上级别的日志脚本宏定义。
/// </summary>
[MenuItem("Tools/AlicizaX/Scripting Define Symbols/Enable Fatal And Above Logs", false, 36)]
[MenuItem("AlicizaX/Scripting Define Symbols/Enable Fatal And Above Logs", false, 36)]
public static void EnableFatalAndAboveLogs()
{
SetAboveLogScriptingDefineSymbol(EnableFatalAndAboveLogScriptingDefineSymbol);

View File

@ -13,7 +13,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 打开 Data Path 文件夹。
/// </summary>
[MenuItem("Tools/AlicizaX/Open Folder/Data Path", false, 10)]
[MenuItem("AlicizaX/Open Folder/Data Path", false, 10)]
public static void OpenFolderDataPath()
{
Execute(Application.dataPath);
@ -22,7 +22,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 打开 Persistent Data Path 文件夹。
/// </summary>
[MenuItem("Tools/AlicizaX/Open Folder/Persistent Data Path", false, 11)]
[MenuItem("AlicizaX/Open Folder/Persistent Data Path", false, 11)]
public static void OpenFolderPersistentDataPath()
{
Execute(Application.persistentDataPath);
@ -31,7 +31,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 打开 Streaming Assets Path 文件夹。
/// </summary>
[MenuItem("Tools/AlicizaX/Open Folder/Streaming Assets Path", false, 12)]
[MenuItem("AlicizaX/Open Folder/Streaming Assets Path", false, 12)]
public static void OpenFolderStreamingAssetsPath()
{
Execute(Application.streamingAssetsPath);
@ -40,7 +40,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 打开 Temporary Cache Path 文件夹。
/// </summary>
[MenuItem("Tools/AlicizaX/Open Folder/Temporary Cache Path", false, 13)]
[MenuItem("AlicizaX/Open Folder/Temporary Cache Path", false, 13)]
public static void OpenFolderTemporaryCachePath()
{
Execute(Application.temporaryCachePath);
@ -51,7 +51,7 @@ namespace AlicizaX.Editor
/// <summary>
/// 打开 Console Log Path 文件夹。
/// </summary>
[MenuItem("Tools/AlicizaX/Open Folder/Console Log Path", false, 14)]
[MenuItem("AlicizaX/Open Folder/Console Log Path", false, 14)]
public static void OpenFolderConsoleLogPath()
{
Execute(System.IO.Path.GetDirectoryName(Application.consoleLogPath));

View File

@ -16,7 +16,7 @@ namespace AlicizaX.UI.Editor
private static List<string> cacheFilterType;
[MenuItem("Tools/AlicizaX/UISetting Window")]
[MenuItem("AlicizaX/UISetting Window")]
private static void OpenWindow()
{
var window = GetWindow<UISettingEditorWindow>("UI Setting");

View File

@ -26,9 +26,6 @@ namespace AlicizaX
#if UNITY_EDITOR
private static int _publishDepth;
#endif
#if Event_StrictCheck
private static System.Collections.Generic.HashSet<Action<TPayload>> _activeHandlers;
#endif
@ -48,11 +45,8 @@ namespace AlicizaX
_freeSlots[i] = i;
}
#if Event_StrictCheck
_activeHandlers = new System.Collections.Generic.HashSet<Action<TPayload>>();
#endif
#if UNITY_EDITOR
_activeHandlers = new System.Collections.Generic.HashSet<Action<TPayload>>();
EventDebugRegistry.RegisterContainer<TPayload>(GetDebugSubscriberCount, GetDebugCapacity, GetDebugSubscribers);
#endif
}
@ -62,12 +56,9 @@ namespace AlicizaX
{
#if UNITY_EDITOR
ThrowIfMutatingDuringPublish("subscribe");
#endif
#if Event_StrictCheck
if (_activeHandlers.Contains(callback))
{
UnityEngine.Debug.LogWarning($"重复订阅事件处理程序: {callback.Method.Name}");
Log.Warning($"重复订阅事件处理程序: {callback.Method.Name}");
return default;
}
@ -141,7 +132,7 @@ namespace AlicizaX
_activeIndices[currentActiveIndex] = lastHandlerIndex;
_activeSlots[lastHandlerIndex] = currentActiveIndex;
#if Event_StrictCheck
#if UNITY_EDITOR
_activeHandlers.Remove(_callbacks[handlerIndex]);
#endif
@ -267,9 +258,6 @@ namespace AlicizaX
#if UNITY_EDITOR
EventDebugRegistry.RecordClear<TPayload>(_activeCount, _callbacks.Length);
#endif
#if Event_StrictCheck
_activeHandlers.Clear();
#endif
}