void CDPLoginSrvr::OnRemoveConnection( DPID dpid ) { if( s_dpid == dpid ) { g_DPCacheSrvr.SendHdr( PACKETTYPE_DESTROY_ALLPLAYERS, DPID_ALLPLAYERS, DPID_ALLPLAYERS ); s_dpid = 0xFFFFFFFF; g_PlayerMng.Free(); } }
void ExitInstance( void ) { g_dpCoreSrvr.DeleteDPObject(); g_DPCacheSrvr.DeleteDPObject(); g_dpLoginSrvr.DeleteDPObject(); g_dpDatabaseClient.DeleteDPObject(); g_PartyMng.Clear(); g_PlayerMng.Free(); SAFE_DELETE( CParty::m_pPool ); SAFE_DELETE( CPlayer::m_pPool ); g_GuildMng.m_AddRemoveLock.Enter( theLineFile ); g_GuildWarMng.Clear(); g_GuildMng.m_AddRemoveLock.Leave( theLineFile ); g_GuildMng.Clear(); SAFE_DELETE( CGuildMember::sm_pPool ); SAFE_DELETE( CGuild::sm_pPool ); UninitializeNetLib(); }