SignOut

    /// <summary>
    /// 退出登录, 将client客户端从在线字段<see cref="Players"/>和<see cref="UIDClients"/>字段中移除
    /// </summary>
    /// <param name="client"></param>
    public virtual void SignOut(Player client)
    {
        if (!client.Login)
            return;
        SendDirect(client);
        if (onlineNumber > 0) Interlocked.Decrement(ref onlineNumber);
        Players.TryRemove(client.PlayerID, out _);
        UIDClients.TryRemove(client.UserID, out _);
        ExitScene(client, false);
        client.PlayerID = client.UserID.ToString();
        client.Login = false;
        client.OnSignOut();
        Debug.Log("[" + client.PlayerID + "]退出登录...!");
    }

最后更新于

这有帮助吗?