public void Disconnect() {
Server.UnregisterSession( this );
Server.RaiseSessionDisconnectedEvent( this, LeaveReason );
if( IsRegistered ) {
Server.UnregisterPlayer( this );
Server.RaisePlayerDisconnectedEventArgs( Player, LeaveReason );
Player = null;
}
if( reader != null ) {
reader.Close();
reader = null;
}
if( writer != null ) {
writer.Close();
writer = null;
}
if( client != null ) {
client.Close();
client = null;
}
ioThread = null;
}