| 844 | } |
| 845 | |
| 846 | void PlayerManager::OnClientDisconnect_Post(edict_t *pEntity) |
| 847 | { |
| 848 | int client = IndexOfEdict(pEntity); |
| 849 | CPlayer *pPlayer = &m_Players[client]; |
| 850 | if (!pPlayer->IsConnected()) |
| 851 | { |
| 852 | /* We don't care, prevent a double call */ |
| 853 | return; |
| 854 | } |
| 855 | |
| 856 | InvalidatePlayer(pPlayer); |
| 857 | |
| 858 | if (m_ListenClient == client) |
| 859 | { |
| 860 | m_ListenClient = 0; |
| 861 | } |
| 862 | |
| 863 | cell_t res; |
| 864 | |
| 865 | m_cldisconnect_post->PushCell(client); |
| 866 | m_cldisconnect_post->Execute(&res, NULL); |
| 867 | |
| 868 | List<IClientListener *>::iterator iter; |
| 869 | IClientListener *pListener = NULL; |
| 870 | for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++) |
| 871 | { |
| 872 | pListener = (*iter); |
| 873 | pListener->OnClientDisconnected(client); |
| 874 | } |
| 875 | } |
| 876 | |
| 877 | void PlayerManager::OnClientPrintf(edict_t *pEdict, const char *szMsg) |
| 878 | { |
nothing calls this directly
no test coverage detected