Struct PluginPeerCommand
- Namespace
- AcDream.Plugin.Abstractions
- Assembly
- AcDream.Plugin.Abstractions.dll
One line another client on this computer asked the clients around it to run, as this client reads it back. It is a command line exactly as a player would have typed it, and nothing about it is authoritative: it is what that client asked for, not something the game server said.
public readonly record struct PluginPeerCommand : IEquatable<PluginPeerCommand>
- Implements
- Inherited Members
Constructors
PluginPeerCommand(long, uint, uint, IReadOnlyList<string>, string, DateTimeOffset)
One line another client on this computer asked the clients around it to run, as this client reads it back. It is a command line exactly as a player would have typed it, and nothing about it is authoritative: it is what that client asked for, not something the game server said.
public PluginPeerCommand(long Sequence, uint ClientId, uint SenderObjectId, IReadOnlyList<string> Tags, string Line, DateTimeOffset SentAt)
Parameters
SequencelongA number that only grows, in the order this client first read these lines. Hand the highest one back to the next capture to pick up where you left off. Numbers can skip: a line this client cannot use -- one aimed at labels it does not answer to, or one it cannot make sense of -- is counted and then dropped.
ClientIduintThe publishing client instance, matching ClientId.
SenderObjectIduintThe character that asked for it. Never this client's own character: a client does not read back its own broadcasts.
TagsIReadOnlyList<string>The labels the sender aimed the line at, or an empty list when it was aimed at every client. A line only ever reaches a client whose own labels include one of these.
LinestringThe command line, as the sender wrote it.
SentAtDateTimeOffsetWhen the sending client said it asked for the line, by that client's clock.
Properties
ClientId
The publishing client instance, matching ClientId.
public uint ClientId { get; init; }
Property Value
IsRemote
True when the line was handed to this client by a plugin through ImportRemoteCommand(uint, string, IReadOnlyList<string>, int) rather than read from another client on this computer.
public bool IsRemote { get; init; }
Property Value
Line
The command line, as the sender wrote it.
public string Line { get; init; }
Property Value
SenderObjectId
The character that asked for it. Never this client's own character: a client does not read back its own broadcasts.
public uint SenderObjectId { get; init; }
Property Value
SentAt
When the sending client said it asked for the line, by that client's clock.
public DateTimeOffset SentAt { get; init; }
Property Value
Sequence
A number that only grows, in the order this client first read these lines. Hand the highest one back to the next capture to pick up where you left off. Numbers can skip: a line this client cannot use -- one aimed at labels it does not answer to, or one it cannot make sense of -- is counted and then dropped.
public long Sequence { get; init; }
Property Value
Tags
The labels the sender aimed the line at, or an empty list when it was aimed at every client. A line only ever reaches a client whose own labels include one of these.
public IReadOnlyList<string> Tags { get; init; }