mirror of
https://github.com/NuclearPowered/Reactor.git
synced 2026-10-19 15:51:54 +00:00
31 lines
1013 B
C#
31 lines
1013 B
C#
using Hazel;
|
|
using InnerNet;
|
|
|
|
namespace Reactor.Networking.Extensions;
|
|
|
|
public static class ClientExtensions
|
|
{
|
|
public static void KickWithReason(this InnerNetClient innerNetClient, int targetClientId, string reason)
|
|
{
|
|
var writer = MessageWriter.Get(SendOption.Reliable);
|
|
writer.StartMessage(Tags.GameDataTo);
|
|
writer.Write(innerNetClient.GameId);
|
|
writer.WritePacked(targetClientId);
|
|
{
|
|
writer.StartMessage(byte.MaxValue);
|
|
writer.Write((byte) ReactorGameDataFlag.KickWithReason);
|
|
writer.Write(reason);
|
|
writer.EndMessage();
|
|
}
|
|
writer.EndMessage();
|
|
innerNetClient.SendOrDisconnect(writer);
|
|
writer.Recycle();
|
|
}
|
|
|
|
public static void DisconnectWithReason(this InnerNetClient innerNetClient, string reason)
|
|
{
|
|
innerNetClient.LastCustomDisconnect = reason;
|
|
innerNetClient.HandleDisconnect(innerNetClient.LastDisconnectReason = DisconnectReasons.Custom, reason);
|
|
}
|
|
}
|