KCP gameserver with packet dispatch, scene streaming, combat, gacha and the shop, plus a small HTTP server for the login flow and the wish history page. Game data under assets is pulled out of the client instead of being typed by hand. The excel tables come from the packed bin container and the spawn points from the compiled scene scripts.
22 lines
1.1 KiB
C#
22 lines
1.1 KiB
C#
namespace Yuanshen.Kcp
|
|
{
|
|
/// <summary>
|
|
/// A transport instance for upper-level connections.
|
|
/// </summary>
|
|
/// <typeparam name="T">The type of the upper-level connection.</typeparam>
|
|
public interface IKcpTransport<out T> : IKcpTransport, IKcpExceptionProducer<IKcpTransport<T>>, IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Get the upper-level connection instace. If Start is not called or the transport is closed, <see cref="InvalidOperationException"/> will be thrown.
|
|
/// </summary>
|
|
/// <exception cref="InvalidOperationException">Start is not called or the transport is closed.</exception>
|
|
T Connection { get; }
|
|
|
|
/// <summary>
|
|
/// Create the upper-level connection and start pumping packets from the socket to the upper-level connection.
|
|
/// </summary>
|
|
/// <exception cref="ObjectDisposedException">The current instance is disposed.</exception>
|
|
/// <exception cref="InvalidOperationException"><see cref="Start"/> has been called before.</exception>
|
|
void Start();
|
|
}
|
|
}
|