feat(runtime): share chat commands and run login sequence
This commit is contained in:
parent
5535d0adac
commit
41b15efd4d
57 changed files with 1739 additions and 345 deletions
32
src/AcDream.Runtime/Chat/RuntimeChatCommandFeedback.cs
Normal file
32
src/AcDream.Runtime/Chat/RuntimeChatCommandFeedback.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using AcDream.Core.Chat;
|
||||
using AcDream.Runtime.Gameplay;
|
||||
|
||||
namespace AcDream.Runtime.Chat;
|
||||
|
||||
/// <summary>
|
||||
/// Presentation-free feedback for chat commands executed by a host rather
|
||||
/// than a panel. It borrows the canonical communication owner; it creates no
|
||||
/// transcript or reply-target mirror.
|
||||
/// </summary>
|
||||
public sealed class RuntimeChatCommandFeedback : IChatCommandFeedback
|
||||
{
|
||||
private readonly RuntimeCommunicationState _communication;
|
||||
|
||||
public RuntimeChatCommandFeedback(RuntimeCommunicationState communication)
|
||||
{
|
||||
_communication = communication
|
||||
?? throw new ArgumentNullException(nameof(communication));
|
||||
}
|
||||
|
||||
public string? LastIncomingTellSender =>
|
||||
_communication.CommandTargets.LastIncomingTellSender;
|
||||
|
||||
public string? LastOutgoingTellTarget =>
|
||||
_communication.CommandTargets.LastOutgoingTellTarget;
|
||||
|
||||
public void ShowInterfaceText(string text) =>
|
||||
_communication.AddText(text, RetailLogTextType.ClientLocal);
|
||||
|
||||
public void ShowSystemMessage(string text) =>
|
||||
_communication.Chat.OnSystemMessage(text, chatType: 0x00u);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue