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

📄 charmake.cpp

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

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

#include "WindowIDEnum.h"
#include "./Interface/cWindowManager.h"
#include "./Interface/cEditBox.h"
#include "./Interface/cResourceManager.h"

#include "ObjectManager.h"
#include "GameResourceManager.h"
#include "MHCamera.h"
#include "MHTimeManager.h"
#include "MAINGAME.h"

#include "cWindowSystemFunc.h"
#include "ChatManager.h"
#include "cMsgBox.h"
#include "HelperManager.h"

#include "CharMakeDialog.h"

#include "mhMap.h"
#include "./Input/UserInput.h"


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
#define DEFAULT_JOB 0
GLOBALTON(CCharMake)
CCharMake::CCharMake()
{
	m_pCharMakeDlg = NULL;
}

CCharMake::~CCharMake()
{

}

BOOL CCharMake::Init(void* pInitParam)
{
	NETWORK->SetCurState(this);

	// 促捞倔肺弊 积己
	CreateCharMakeDlg();
	

	CHARMAKEMGR->Init();
	CHARMAKEMGR->CreateNewCharacter();
	m_pCharMakeDlg->ChangeComboStatus( 0 ); // 霓焊 悸泼阑 扁夯 巢磊肺 悸泼茄促.

	// 档快固 檬扁拳
	HELPERMGR->Init();
	HELPERMGR->ShowRespect( 1, FALSE );

	WINDOWMGR->AfterInit();
	
//墨皋扼 技泼
/*	vPivot.x = 23058 - 600; // + 第肺  - 菊栏肺
	vPivot.y = 530;
	vPivot.z = 31780 + 420; // + 坷弗率栏肺  - 哭率栏肺
	CAMERA->InitCamera(0, -4.0f, 90.0f, 4215, &vPivot);// 芭府 炼沥 
*/	

/*	捞悼救矫懦订 捞吧风..
	VECTOR3 vPivot;
	vPivot.x = 24480;
	vPivot.y = 6020;
	vPivot.z = 9884;

	CAMERA->InitCamera(0, -6.0f, 0.0f, 2000, &vPivot);// 芭府 炼沥 
//*/

	CAMERA->SetCurCamera(0);
	CAMERA->SetCameraMode(eCM_LOGIN);

	return TRUE;
}

void CCharMake::Release(CGameState* pNextGameState)
{
	OBJECTMGR->RemoveAllObject();
	
	WINDOWMGR->DestroyWindowAll();
	RESRCMGR->ReleaseResource(12);
	CHARMAKEMGR->Release();
	HELPERMGR->Release();
	
	if(pNextGameState == NULL)
		MAP->Release();
}

void CCharMake::Process()
{	
	if(IsBlock()) return;

	if(	!CHARMAKEMGR->GetNewPlayer() ) // 捞磊府俊 部苛 初酒 滴技夸... LBS
		CHARMAKEMGR->CreateNewCharacter();
	
	CHARMAKEMGR->ApplyScale();

///	MHTIMEMGR->Process();
	if(CAMERA->GetGotoPosition() != -1)
		CAMERA->Process();
	
	if( MOUSE->RButtonDrag() )
		CHARMAKEMGR->NewCharacterRotate( MOUSE->GetMouseAxisX() );
}

void CCharMake::BeforeRender()
{
	g_pExecutive->GetRenderer()->BeginRender(0,0,0);
	g_pExecutive->GetRenderer()->EndRender();
	MAP->Process( gCurTime );
}

void CCharMake::AfterRender()
{
	WINDOWMGR->Render();
}

void CCharMake::NetworkMsgParse(BYTE Category,BYTE Protocol,void* pMsg)
{
	switch(Category) 
	{
	case MP_USERCONN:
		{
			switch(Protocol) 
			{
			case MP_USERCONN_CHARACTER_NAMECHECK_NACK:
				{
					MSG_WORD* pmsg = (MSG_WORD*)pMsg;

//					LOG(EC_CHARNAME_EXIST);
					CHARMAKEMGR->GetCharacterMakeInfo()->bDuplCheck = FALSE;

					cEditBox * editboxName = (cEditBox *)WINDOWMGR->GetWindowForIDEx(CMID_IDEDITBOX);
					editboxName->SetEditText("");
				
					switch(pmsg->wData)
					{
					case 2:
						CHARMAKE->DisplayNotice( 14 );
						break;
					case 3:
						CHARMAKE->DisplayNotice( 14 );
						break;
					case 4:
						CHARMAKE->DisplayNotice( 14 );
						break;
					default:
						CHARMAKE->DisplayNotice( 14 );
						break;
					}

					CHARMAKE->SetDisableDlg( FALSE );
				}
				return;
			case MP_USERCONN_CHARACTER_NAMECHECK_ACK:
				{
//					LOG(EC_CHARNAME_SUCCESS);
					CHARMAKEMGR->GetCharacterMakeInfo()->bDuplCheck =TRUE;
					
					CHARMAKE->DisplayNotice( 13 );
					CHARMAKE->SetDisableDlg( FALSE );
				}
				return;
			case MP_USERCONN_CHARACTER_MAKE_NACK:
				{
					CHARMAKE->DisplayNotice( 16 );
					SetDisableDlg( FALSE );
				}
				return;
			case MP_USERCONN_CHARACTERLIST_ACK:
				{		
					SEND_CHARSELECT_INFO* pmsg = (SEND_CHARSELECT_INFO*)pMsg;
					SetDisableDlg( FALSE );
					MAINGAME->SetGameState(eGAMESTATE_CHARSELECT, (void *)pmsg, sizeof(SEND_CHARSELECT_INFO));
					CAMERA->MoveStart(eCP_CHARSEL);
					
					//WINDOWMGR->AddListDestroyWindow( WINDOWMGR->GetWindowForID( MBI_NOBTNMSGBOX ) );
				}
				return;
			}
		}
		return;
	}
//	LOG(EC_UNKNOWN_PROTOCOL);
}


void CCharMake::DisplayNotice( int MsgNum )
{
	WINDOWMGR->MsgBox( MBI_CHARMAKEERROR, MBT_OK, CHATMGR->GetChatMsg(MsgNum) );
	SetDisableDlg( TRUE );
}

void CCharMake::SetDisableDlg( BOOL val )
{
	m_pCharMakeDlg->SetDisable( val );
}


//////////////////////////////////////////////////////////////////////////


/*
	//CPlayer* CObjectManager::AddPlayer(BASEOBJECT_INFO* pBaseObjectInfo,BASEMOVE_INFO* pMoveInfo,CHARACTER_TOTALINFO* pTotalInfo)

struct BASEOBJECT_INFO
{
	DWORD dwObjectID;
	char ObjectName[MAX_NAME_LENGTH+1];
	BYTE ObjectState;
};

struct BASEMOVE_INFO
{
	VECTOR3 CurPosition;
	VECTOR3 TargetPosition;

	bool bMoving;
	bool MoveMode;		 // 0:顿扁 1:叭扁

	WORD KyungGongIdx;	// 版傍Idx 0: 版傍吝捞 酒聪促  !0: 荤侩吝牢 版傍锅龋
};
struct CHARACTER_TOTALINFO
{
	WORD	Life;							// 积疙仿
	WORD	MaxLife;						// 弥措 积疙仿
	
	char	NickName[MAX_NAME_LENGTH+1];	// 喊莫(龋)
	char	HonorName[MAX_NAME_LENGTH+1];	// 狼龋(?)

	BYTE	Gender;							// 己喊
	BYTE	FaceType;						// 倔奔锅龋
	BYTE	HairType;						// 赣府葛剧 锅龋

	WORD	WearedItemIdx[eWearedItem_Max];	// 馒侩茄 酒捞牌甸狼 辆幅

	BYTE	Job;							// 流诀
	BYTE	Stage;							// 版瘤
	BYTE	Level;							// 饭骇
	BYTE	Map;							// 甘


	bool	bPeace;							// 傈/乞拳葛靛 FALSE 搁 傈捧 TRUE 搁 乞拳

};
*/

⌨️ 快捷键说明

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