NLDClient-yudde/ProjectNLD/Assets/Editor/Tools/DisconnectDebugWindow.cs

53 lines
1.6 KiB
C#

using Framework;
using UnityEditor;
using UnityEngine;
public class DisconnectDebugWindow : EditorWindow
{
[MenuItem("Tools/断线调试工具")]
public static void ShowWindow()
{
var window = GetWindow<DisconnectDebugWindow>("断线调试工具");
window.minSize = new Vector2(360f, 180f);
window.Show();
}
private void OnGUI()
{
GUILayout.Label("断线调试", EditorStyles.boldLabel);
EditorGUILayout.HelpBox("用于在运行时模拟上行或下行断开。开关只对当前 Play 会话生效。", MessageType.Info);
EditorGUI.BeginDisabledGroup(!EditorApplication.isPlaying);
var blockUpstream = EditorGUILayout.Toggle("断上行", NetDebugOptions.BlockUpstream);
if (blockUpstream != NetDebugOptions.BlockUpstream)
{
NetDebugOptions.SetBlockUpstream(blockUpstream);
}
var blockDownstream = EditorGUILayout.Toggle("断下行", NetDebugOptions.BlockDownstream);
if (blockDownstream != NetDebugOptions.BlockDownstream)
{
NetDebugOptions.SetBlockDownstream(blockDownstream);
}
GUILayout.Space(8f);
if (GUILayout.Button("恢复双向网络", GUILayout.Height(28f)))
{
NetDebugOptions.Reset();
}
EditorGUI.EndDisabledGroup();
if (!EditorApplication.isPlaying)
{
EditorGUILayout.HelpBox("请先进入 Play 模式再操作这些开关。", MessageType.Warning);
}
}
private void OnInspectorUpdate()
{
Repaint();
}
}