本文整理汇总了C++中KPlayer::Logout方法的典型用法代码示例。如果您正苦于以下问题:C++ KPlayer::Logout方法的具体用法?C++ KPlayer::Logout怎么用?C++ KPlayer::Logout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KPlayer
的用法示例。
在下文中一共展示了KPlayer::Logout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Detach
BOOL KPlayerServer::Detach(int nConnIndex)
{
BOOL bResult = false;
KPlayer* pPlayer = NULL;
assert(nConnIndex >= 0 && nConnIndex < m_nMaxConnection);
pPlayer = m_ConnectionDataList[nConnIndex].pPlayer;
KG_PROCESS_ERROR(pPlayer);
// 暂时这么处理,以后应该执行托管
pPlayer->Logout();
m_ConnectionDataList[nConnIndex].pPlayer = NULL;
pPlayer->m_nConnIndex = -1;
switch (pPlayer->m_eGameStatus)
{
case gsPlaying:
pPlayer->RemoveHero();
g_RelayClient.SaveRoleData(pPlayer);
g_pSO3World->DelPlayer(pPlayer);
break;
case gsInHall:
case gsSearchMap:
case gsWaitForNewMapLoading:
g_RelayClient.SaveRoleData(pPlayer);
g_pSO3World->DelPlayer(pPlayer);
break;
//case gsWaitForConnect: 此状态下网关还未解锁,在连接超时处删除玩家
case gsWaitForPermit:
case gsWaitForRoleData:
case gsWaitForTransmissionSave:
case gsWaitForTransmissionGuid:
g_pSO3World->DelPlayer(pPlayer);
break;
default:
KGLogPrintf(
KGLOG_ERR, "Unexpected GameStatus %d for player %s when connection close !",
pPlayer->m_eGameStatus, pPlayer->m_szName
);
break;
}
bResult = true;
Exit0:
return bResult;
}