📄 charmake.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 + -