acdream/src/AcDream.Plugin.Abstractions/NetworkAutomation.cs

28 lines
824 B
C#

namespace AcDream.Plugin.Abstractions;
/// <summary>
/// One other live acdream client discovered by the host's local peer service.
/// The shape mirrors UtilityBelt's ClientData expression contract.
/// </summary>
public readonly record struct PluginNetworkClient(
uint ClientId,
uint PlayerId,
string Name,
string WorldName,
PluginNavigationPosition Position,
IReadOnlyList<string> Tags,
uint CurrentHealth,
uint CurrentMana,
uint CurrentStamina,
uint MaxHealth,
uint MaxMana,
uint MaxStamina,
float Heading);
/// <summary>Read-only discovery of other local acdream client processes.</summary>
public interface INetworkAutomation
{
bool IsAvailable => false;
IReadOnlyList<PluginNetworkClient> CaptureClients() =>
Array.Empty<PluginNetworkClient>();
}