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
24
src/AcDream.Runtime/Chat/ICommandBus.cs
Normal file
24
src/AcDream.Runtime/Chat/ICommandBus.cs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
namespace AcDream.Runtime.Chat;
|
||||
|
||||
/// <summary>
|
||||
/// Publishes user-intent commands from panels to the systems that handle
|
||||
/// them (WorldSession, ChatService, Inventory, ...). Panels never touch
|
||||
/// those systems directly — they <see cref="Publish{T}(T)"/> a record
|
||||
/// and the bus dispatches.
|
||||
///
|
||||
/// <para>
|
||||
/// D.2a scaffolding: <see cref="NullCommandBus"/> is the default wire-up
|
||||
/// — commands are accepted but dropped. Real routing lands alongside
|
||||
/// chat and inventory (Sprint 2 of the UI plan) when we actually need
|
||||
/// commands flowing server-ward.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public interface ICommandBus
|
||||
{
|
||||
/// <summary>
|
||||
/// Publish a command record. The bus routes by runtime type via
|
||||
/// registered handlers. Never blocks; handlers run on the publish
|
||||
/// thread today (render thread for panel-triggered commands).
|
||||
/// </summary>
|
||||
void Publish<T>(T command) where T : notnull;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue