chore(unity): 固定Unity CLI Loop本地包并移除UnitySkills依赖

This commit is contained in:
Liubing\LB
2026-09-28 18:14:59 +08:00
parent 0eb43b2b40
commit c4ae02def9
952 changed files with 70137 additions and 11 deletions

View File

@@ -0,0 +1,47 @@
using System;
using UnityEngine.UIElements;
namespace io.github.hatayama.uLoopMCP
{
public class ConnectionModeSection
{
private readonly Foldout _foldout;
private readonly Button _mcpTabButton;
private readonly Button _cliTabButton;
private ConnectionModeData _lastData;
public event Action<ConnectionMode> OnModeChanged;
public event Action<bool> OnFoldoutChanged;
public ConnectionModeSection(VisualElement root)
{
_foldout = root.Q<Foldout>("configuration-foldout");
_mcpTabButton = root.Q<Button>("mcp-tab-button");
_cliTabButton = root.Q<Button>("cli-tab-button");
_mcpTabButton.clicked += () => OnModeChanged?.Invoke(ConnectionMode.MCP);
_cliTabButton.clicked += () => OnModeChanged?.Invoke(ConnectionMode.CLI);
_foldout.RegisterValueChangedCallback(evt => OnFoldoutChanged?.Invoke(evt.newValue));
}
public void Update(ConnectionModeData data)
{
if (_lastData != null && _lastData.Equals(data))
{
return;
}
_lastData = data;
bool isMcp = data.Mode == ConnectionMode.MCP;
ViewDataBinder.ToggleClass(_mcpTabButton, "mcp-tab-button--active", isMcp);
ViewDataBinder.ToggleClass(_cliTabButton, "mcp-tab-button--active", !isMcp);
}
public void UpdateFoldout(bool show)
{
ViewDataBinder.UpdateFoldout(_foldout, show);
}
}
}