Initial commit

This commit is contained in:
2026-07-03 16:37:12 +07:00
commit 63b8c1ea8b
1931 changed files with 640587 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.SignalR.Client;
using RobotNet10.Components.Clients;
using RobotNet10.ScriptEngine.Shared;
namespace RobotNet10.ScriptEditor.Clients;
/// <summary>
/// SignalR HubClient for ConsoleHub - handles console logging events.
/// </summary>
public class ConsoleHubClient : HubClient
{
public event Action<string>? ErrorReceived;
public event Action<string>? InfoReceived;
public event Action<string>? WarningReceived;
public ConsoleHubClient(NavigationManager navigationManager)
: base(navigationManager.ToAbsoluteUri(HubEndpoints.ScriptConsoleHubPath))
{
Connection.On<string>("Error", message => ErrorReceived?.Invoke(message));
Connection.On<string>("Info", message => InfoReceived?.Invoke(message));
Connection.On<string>("Warning", message => WarningReceived?.Invoke(message));
}
/// <summary>
/// Registers to receive console messages for a specific task.
/// </summary>
public Task RegisterTaskAsync(string name) => Connection.InvokeAsync("RegisterTask", name);
/// <summary>
/// Unregisters from receiving console messages for a specific task.
/// </summary>
public Task UnregisterTaskAsync(string name) => Connection.InvokeAsync("UnregisterTask", name);
/// <summary>
/// Registers to receive console messages for a specific mission.
/// </summary>
public Task RegisterMissionAsync(Guid missionId) => Connection.InvokeAsync("RegisterMission", missionId);
/// <summary>
/// Unregisters from receiving console messages for a specific mission.
/// </summary>
public Task UnregisterMissionAsync(Guid missionId) => Connection.InvokeAsync("UnregisterMission", missionId);
/// <summary>
/// Registers to receive all console messages.
/// </summary>
public Task RegisterAllAsync() => Connection.InvokeAsync("RegisterAll");
/// <summary>
/// Unregisters from receiving all console messages.
/// </summary>
public Task UnregisterAllAsync() => Connection.InvokeAsync("UnregisterAll");
}