// // IGameResponder.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using OneOf.Types; using Remora.Results; namespace NosSmooth.Game.Events.Handlers; /// /// Represents interface for classes that respond to . /// public interface IGameResponder { } /// /// Represents interface for classes that respond to game events. /// Responds to . /// /// The event type this responder responds to. public interface IGameResponder : IGameResponder where TEvent : IGameEvent { /// /// Respond to the given packet. /// /// The packet to respond to. /// The cancellation token for cancelling the operation. /// A result that may or may not have succeeded. public Task Respond(TEvent packet, CancellationToken ct = default); }