예제 #1
0
bool CGameSocket::HandlePacket(Packet & pkt)
{
	switch (pkt.GetOpcode())
	{
	case AI_SERVER_CONNECT:
		RecvServerConnect(pkt);
		break;
	case AG_USER_INFO:
		RecvUserInfo(pkt);
		break;
	case AG_USER_INOUT:
		RecvUserInOut(pkt);
		break;
	case AG_USER_MOVE:
		RecvUserMove(pkt);
		break;
	case AG_USER_LOG_OUT:
		RecvUserLogOut(pkt);
		break;
	case AG_USER_REGENE:
		RecvUserRegene(pkt);
		break;
	case AG_USER_SET_HP:
		RecvUserSetHP(pkt);
		break;
	case AG_NPC_HP_CHANGE:
		RecvNpcHpChange(pkt);
		break;
	case AG_USER_UPDATE:
		RecvUserUpdate(pkt);
		break;
	case AG_ZONE_CHANGE:
		RecvZoneChange(pkt);
		break;
	case AG_USER_PARTY:
		m_Party.PartyProcess(pkt);
		break;
	case AG_USER_INFO_ALL:
		RecvUserInfoAllData(pkt);
		break;
	case AG_PARTY_INFO_ALL:
		RecvPartyInfoAllData(pkt);
		break;
	case AG_HEAL_MAGIC:
		RecvHealMagic(pkt);
		break;
	case AG_TIME_WEATHER:
		RecvTimeAndWeather(pkt);
		break;
	case AG_BATTLE_EVENT:
		RecvBattleEvent(pkt);
		break;
	case AG_NPC_GATE_OPEN:
		RecvGateOpen(pkt);
		break;
	case AG_USER_VISIBILITY:
		RecvUserVisibility(pkt);
		break;
	case AG_NPC_SPAWN_REQ:
		RecvNpcSpawnRequest(pkt);
		break;
	case AG_NPC_KILL_REQ:
		RecvNpcKillRequest(pkt);
		break;
	case AG_MAGIC_ATTACK_REQ:
		CMagicProcess::MagicPacket(pkt);
		break;
	case AG_NPC_UPDATE:
		RecvNpcUpdate(pkt);
		break;
	}
	return true;
}
예제 #2
0
void CGameSocket::Parsing( int length, char* pData )
{
    int index = 0;
    BYTE bType = GetByte(pData, index);

    switch(bType)
    {
    case SERVER_CONNECT:
        RecvServerConnect(pData);
        break;
    case AG_USER_INFO:
        RecvUserInfo(pData+index);
        break;
    case AG_USER_INOUT:
        RecvUserInOut(pData+index);
        break;
    case AG_USER_MOVE:
        RecvUserMove(pData+index);
        break;
    case AG_USER_MOVEEDGE:
        RecvUserMoveEdge(pData+index);
        break;
    case AG_ATTACK_REQ:
        RecvAttackReq(pData+index);
        break;
    case AG_USER_LOG_OUT:
        RecvUserLogOut(pData+index);
        break;
    case AG_USER_REGENE:
        RecvUserRegene(pData+index);
        break;
    case AG_USER_SET_HP:
        RecvUserSetHP(pData+index);
        break;
    case AG_USER_UPDATE:
        RecvUserUpdate(pData+index);
        break;
    case AG_ZONE_CHANGE:
        RecvZoneChange(pData+index);
        break;
    case AG_USER_PARTY:
        //if(m_pParty)
        m_Party.PartyProcess(pData+index);
        break;
    case AG_MAGIC_ATTACK_REQ:
        RecvMagicAttackReq(pData+index);
        break;
    case AG_USER_INFO_ALL:
        RecvUserInfoAllData(pData+index);
        break;
    case AG_PARTY_INFO_ALL:
        RecvPartyInfoAllData(pData+index);
        break;
    case AG_CHECK_ALIVE_REQ:
        RecvCheckAlive(pData+index);
        break;
    case AG_HEAL_MAGIC:
        RecvHealMagic(pData+index);
        break;
    case AG_TIME_WEATHER:
        RecvTimeAndWeather(pData+index);
        break;
    case AG_USER_FAIL:
        RecvUserFail(pData+index);
        break;
    case AG_BATTLE_EVENT:
        RecvBattleEvent(pData+index);
        break;
    case AG_NPC_GATE_OPEN:
        RecvGateOpen(pData+index);
        break;
    }
}