cgdialuphandler.cpp

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 107 行

CPP
107
字号
//////////////////////////////////////////////////////////////////////////////// Filename    : CGDialUpHandler.cc// Written By  : elca@ewestsoft.com// Description ://////////////////////////////////////////////////////////////////////////////#include "CGDialUp.h"#ifdef __GAME_SERVER__	#include "GamePlayer.h"	#include "TelephoneCenter.h"	#include "Slayer.h"	#include "Gpackets/GCRing.h"	#include "Gpackets/GCPhoneConnected.h"	#include "Gpackets/GCPhoneConnectionFailed.h"#endif////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGDialUpHandler::execute (CGDialUp* pPacket , Player* pPlayer)	throw (ProtocolException, Error){	__BEGIN_TRY __BEGIN_DEBUG_EX#ifdef __GAME_SERVER__	Assert(pPacket != NULL);	Assert(pPlayer != NULL);	GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer);	Creature* pCreature = pGamePlayer->getCreature();	Assert (pCreature->isSlayer());	bool Success = false;	Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature);	Player* pTargetPlayer = NULL;	SlotID_t PSlot = MAX_PHONE_SLOT;	SlotID_t PSlot2 = MAX_PHONE_SLOT;	// 迄 锅龋甫 罐酒柯促.	PhoneNumber_t PNumber = pPacket->getPhoneNumber();	Slayer* pTargetSlayer = g_pTelephoneCenter->getSlayer(PNumber);	if (pSlayer->findEmptyPhoneSlot() != MAX_PHONE_SLOT && pSlayer != pTargetSlayer) 	{		if (pTargetSlayer != NULL) 		{			pTargetPlayer = pTargetSlayer->getPlayer();			if (pTargetSlayer->isEmptyPhoneSlot()) 			{				if (!(pTargetSlayer->isSlotByPhoneNumber(PNumber))) 				{					Success = true;				}			}		}	}	if (Success) 	{		// 惑措规狼 后 浇儿阑 罐酒柯促.		PSlot2 = pTargetSlayer->findEmptyPhoneSlot();		// 磊脚狼 后 浇儿阑 茫绰促.		PSlot = pSlayer->findEmptyPhoneSlot();		// 惑措规狼 浇儿俊 磊脚狼 锅龋甫 悸泼		pTargetSlayer->setPhoneSlotNumber (PSlot2, pSlayer->getPhoneNumber());		// 磊脚狼 浇儿俊 惑措规狼 锅龋 悸泼		pSlayer->setPhoneSlotNumber (PSlot, PNumber);		//cout << "Call Number : " << pSlayer->getPhoneNumber() << ", Called Number : " << PNumber << endl;		//cout << "Call Slot : " << PSlot << ", Called Slot : " << PSlot2 << endl;		// 傈拳 罐阑 惑措俊霸 朝府绰 菩哦		GCRing gcRing;		gcRing.setPhoneNumber(pSlayer->getPhoneNumber());		gcRing.setSlotID(PSlot2);		gcRing.setName(pSlayer->getName());		// 傈拳 扒 寸荤磊俊霸 朝府绰 菩哦		GCPhoneConnected gcPhoneConnected;		gcPhoneConnected.setSlotID(PSlot);		gcPhoneConnected.setName(pTargetSlayer->getName());		pTargetPlayer->sendPacket(&gcRing);		pGamePlayer->sendPacket(&gcPhoneConnected);	} 	else 	{		GCPhoneConnectionFailed gcPhoneConnectionFailed;		pGamePlayer->sendPacket(&gcPhoneConnectionFailed);	}#endif	// __GAME_SERVER__    __END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?