RemoveClient
/// <summary>
/// 从客户端字典中移除客户端
/// </summary>
/// <param name="client"></param>
public virtual void RemoveClient(Player client)
{
if (client.isDispose)
return;
if (client.Login & onlineNumber > 0) Interlocked.Decrement(ref onlineNumber);
else if (!client.Login & ignoranceNumber > 0) Interlocked.Decrement(ref ignoranceNumber);
Players.TryRemove(client.PlayerID, out _);
UIDClients.TryRemove(client.UserID, out _);
AllClients.TryRemove(client.RemotePoint, out _);
OnRemoveClientHandle(client);
client.OnRemoveClient();
ExitScene(client, false);
client.Dispose();
UserIDStack.Push(client.UserID);
}
最后更新于
这有帮助吗?