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,55 @@
using System.ComponentModel;
namespace io.github.hatayama.uLoopMCP
{
/// <summary>
/// Window name matching modes for FindWindowsByName
/// </summary>
public enum WindowMatchMode
{
/// <summary>
/// Exact match (case-insensitive)
/// </summary>
exact = 0,
/// <summary>
/// Prefix match (case-insensitive)
/// </summary>
prefix = 1,
/// <summary>
/// Contains match (case-insensitive)
/// </summary>
contains = 2
}
public enum CaptureMode
{
window = 0,
rendering = 1
}
public class ScreenshotSchema : BaseToolSchema
{
[Description("Window name to capture (e.g., 'Game', 'Scene', 'Console', 'Inspector', 'Project', 'Hierarchy', or any EditorWindow title). Ignored when CaptureMode is rendering.")]
public string WindowName { get; set; } = "Game";
[Description("Resolution scale multiplier (0.1 to 1.0, where 1.0 is original size)")]
public float ResolutionScale { get; set; } = 1.0f;
[Description("Window name matching mode: exact(0)=exact match, prefix(1)=starts with, contains(2)=partial match. All modes are case-insensitive. Ignored when CaptureMode is rendering.")]
public WindowMatchMode MatchMode { get; set; } = WindowMatchMode.exact;
[Description("Output directory path for saving screenshots. When empty, uses default path (.uloop/outputs/Screenshots/). Accepts absolute paths.")]
public string OutputDirectory { get; set; } = "";
[Description("Capture mode: window(0)=capture EditorWindow including toolbar, rendering(1)=capture game rendering only (PlayMode required, coordinates match simulate-mouse)")]
public CaptureMode CaptureMode { get; set; } = CaptureMode.window;
[Description("Annotate interactive UI elements with names and simulate-mouse coordinates on the screenshot. Only works with CaptureMode=rendering in PlayMode.")]
public bool AnnotateElements { get; set; } = false;
[Description("Return only annotated element JSON without capturing a screenshot image. Requires AnnotateElements=true and CaptureMode=rendering in PlayMode.")]
public bool ElementsOnly { get; set; } = false;
}
}