⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 charmake.cpp

📁 墨香最新私服
💻 CPP
字号:
// CharMake.cpp: implementation of the CCharMake class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CharMake.h"
#include "StateMng.h"

#include "Console.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

extern	BOOL	g_bDirectAgent;

extern DWORD g_ConnectDist;
extern DWORD g_DisconnectDist;
extern DWORD g_TryToConnectAgent;
extern DWORD g_ConnectAgent;
extern DWORD g_DisconnectAgent;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CCharMake::CCharMake()
{
}

CCharMake::~CCharMake()
{
}

BOOL CCharMake::Init( int id, CStateMng* pMgr, CDummyNetwork* pNet, CDummyObjMng* pDOMgr )
{
	CGameState::Init( id, pMgr, pNet, pDOMgr );

	return TRUE;
}

void CCharMake::Open( void* pInitParam )
{
	m_pNetwork->SetCurState( this );

	g_Console.Log( eLogDisplay, 4, "Dummy%d State : CCharMake", m_nID );

	// character 积己
	char tempName[MAX_NAME_LENGTH];
	CHARACTERMAKEINFO msg;
	memset( &msg, 0, sizeof(CHARACTERMAKEINFO) );
	msg.Category = MP_USERCONN;
	msg.Protocol = MP_USERCONN_CHARACTER_MAKE_SYN;
	msg.SexType = rand()%2;
	msg.BodyType = 0;
	msg.HairType = 0;
	msg.FaceType = 0;
	msg.StartArea = 18;
	msg.WearedItemIdx[eWearedItem_Dress] = 0;
	msg.WearedItemIdx[eWearedItem_Shoes] = 0;
	msg.StandingArrayNum = -1;
	sprintf( tempName, "Dum%d", m_nID );
	strcpy( msg.Name, tempName );
	m_pNetwork->Send( &msg, sizeof(msg) );
	//	
}

void CCharMake::Close()
{
}

void CCharMake::Exit()
{
}

void CCharMake::Process()
{
}

void CCharMake::NetworkMsgParse( BYTE Category, BYTE Protocol, void* pMsg )
{
	CGameState::CommonNetworkMsgParse( Category, Protocol, pMsg );

	switch( Category ) 
	{
	case MP_USERCONN:
		{
			switch( Protocol )
			{
			case MP_USERCONN_CHARACTER_MAKE_ACK:
				{
					MSGBASE msg;
					msg.Category = MP_USERCONN;
					msg.Protocol = MP_USERCONN_DIRECTCHARACTERLIST_SYN;
					m_pNetwork->Send( &msg, sizeof(msg) );
				}
				return;
			case MP_USERCONN_CHARACTER_MAKE_NACK:
				{
					g_DisconnectAgent++;
					m_pStateMng->ChangeState( eGAMESTATE_END, "CharMake - MP_USERCONN_CHARACTER_MAKE_NACK", 0 );
				}
				return;				

			case MP_USERCONN_CHARACTERLIST_ACK:
				{	
					m_pStateMng->ChangeState( eGAMESTATE_CHARSELECT, (void*)pMsg, sizeof(SEND_CHARSELECT_INFO) );
				}
				return;
			}
		}
		return;
	}
}

void CCharMake::OnDisconnect()
{
	m_pStateMng->ChangeState( eGAMESTATE_END, "CCharMake-OnDisconnect()", 0 );	
	g_DisconnectAgent++;
}

⌨️ 快捷键说明

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