fCraft.PlayerDB.ProcessLogout C# (CSharp) Method

ProcessLogout() private method

private ProcessLogout ( Player player ) : void
player Player
return void
        internal void ProcessLogout( Player player ) {
            if( player == null ) return;
            locker.EnterWriteLock();
            tree.Get( player.name ).ProcessLogout( player );
            locker.ExitWriteLock();
        }
    }

Usage Example

Example #1
0
        // Remove player from the list, and notify remaining players
        public void UnregisterPlayer(Player player)
        {
            if (player == null)
            {
                log.Log("World.UnregisterPlayer: Trying to unregister a non-existent (null) player.", LogType.Debug);
                return;
            }

            lock ( playerListLock ) {
                if (players[player.id] == player)
                {
                    log.Log("{0} left the server.", LogType.UserActivity, player.name);
                    db.ProcessLogout(player);
                    db.Save();
                    players[player.id] = null;
                    playerCount--;
                    SendToAll(PacketWriter.MakeRemoveEntity(player.id), null);
                    SendToAll(PacketWriter.MakeMessage(Color.Sys + player.name + " left the server."), null);
                    UpdatePlayerList();
                }
                else
                {
                    log.Log("World.UnregisterPlayer: Trying to unregister a non-existent (unknown id) player.", LogType.Warning);
                }
            }
        }