📄 brewlogin.cpp
字号:
break;
case LOGIN_TEST_GAME_LIST:
if(m_nCurCv != Canvas1)
{
SetCanvas(Canvas1);
}
if (frame->getGameList() == OK)
m_nLoginState = LOGIN_GET_GAME_LIST;
break;
case LOGIN_GET_GAME_LIST:
m_nLoginState = LOGIN_WAIT_GAME_LIST;
m_nWaitGameListTime = timeMS;
break;
case LOGIN_WAIT_GAME_LIST:
if (timeMS > m_nWaitGameListTime + TIMEOUT)
//m_nLoginState = LOGIN_GET_GAME_LIST;
bTimeOut = true;
break;
case LOGIN_READY_GAME:
m_nLoginState = LOGIN_CHOOSE_GAME;
break;
case LOGIN_CHOOSE_GAME:
m_nLoginState = LOGIN_TEST_SERVER_LIST;
break;
case LOGIN_TEST_SERVER_LIST:
if (frame->getServerList(m_nCurrentGameId) == OK)
m_nLoginState = LOGIN_GET_SERVER_LIST;
break;
case LOGIN_GET_SERVER_LIST:
m_nLoginState = LOGIN_WAIT_SERVER_LIST;
m_nWaitServerListTime = timeMS;
break;
case LOGIN_WAIT_SERVER_LIST:
if (timeMS > m_nWaitServerListTime + TIMEOUT)
//m_nLoginState = LOGIN_GET_SERVER_LIST;
bTimeOut = true;
break;
case LOGIN_READY_SERVER:
if (m_pIMenu == NULL){
if (ISHELL_CreateInstance(m_pIShell, AEECLSID_MENUCTL, (void **)&m_pIMenu) != SUCCESS)
break;
}
if (m_pIMenu == NULL)
break;
IMENUCTL_Reset(m_pIMenu);
SETAEERECT(&r, frame->getScreenOffsetX(), frame->getScreenOffsetY(), m_pIDi->cxScreen, m_pIDi->cyScreen);
IMENUCTL_SetRect(m_pIMenu, &r);
MEMSET(szText, '\0', sizeof(szText));
szText[0] = 0x670D;
szText[1] = 0x52A1;
szText[2] = 0x5668;
szText[3] = 0x5217;
szText[4] = 0x8868;
szText[5] = '\0';
IMENUCTL_SetTitle(m_pIMenu, NULL, 0, szText);
sItem = m_pSList;
for (i = 0; i < m_nSCount; i ++){
if (sItem == NULL)
break;
MEMSET(szText, '\0', sizeof(szText));
for (j = 0; j < sItem->serverItem.serverNameLength / 2; j ++)
szText[j] = NTOHS(*(UINT16 *)&(sItem->serverItem.serverName[j * 2]));
szText[sItem->serverItem.serverNameLength / 2] = '\0';
IMENUCTL_AddItem(m_pIMenu, NULL, 0, sItem->serverItem.serverId, szText, 0);
sItem = sItem->serverNext;
}
IMENUCTL_EnableCommand(m_pIMenu, TRUE);
IMENUCTL_SetActive(m_pIMenu, TRUE);
m_nLoginState = LOGIN_CHOOSE_SERVER;
break;
case LOGIN_CHOOSE_SERVER:
break;
case LOGIN_TEST_ROOM_LIST:
if (frame->getRoomList(m_nCurrentGameId, m_nCurrentServerId) == OK)
m_nLoginState = LOGIN_GET_ROOM_LIST;
break;
case LOGIN_GET_ROOM_LIST:
m_nLoginState = LOGIN_WAIT_ROOM_LIST;
m_nWaitRoomListTime = timeMS;
break;
case LOGIN_WAIT_ROOM_LIST:
if (timeMS > m_nWaitRoomListTime + TIMEOUT)
//m_nLoginState = LOGIN_GET_ROOM_LIST;
bTimeOut = true;
break;
case LOGIN_READY_ROOM:
if (m_pIMenu == NULL){
if (ISHELL_CreateInstance(m_pIShell, AEECLSID_MENUCTL, (void **)&m_pIMenu) != SUCCESS)
break;
}
if (m_pIMenu == NULL)
break;
IMENUCTL_Reset(m_pIMenu);
SETAEERECT(&r, frame->getScreenOffsetX(), frame->getScreenOffsetY(), m_pIDi->cxScreen, m_pIDi->cyScreen);
IMENUCTL_SetRect(m_pIMenu, &r);
MEMSET(szText, '\0', sizeof(szText));
szText[0] = 0x623F;
szText[1] = 0x95F4;
szText[2] = 0x5217;
szText[3] = 0x8868;
szText[4] = '\0';
IMENUCTL_SetTitle(m_pIMenu, NULL, 0, szText);
rItem = m_pRList;
for (i = 0; i < m_nRCount; i ++){
if (rItem == NULL)
break;
MEMSET(szText, '\0', sizeof(szText));
for (j = 0; j < rItem->roomItem.roomNameLength / 2; j ++)
szText[j] = NTOHS(*(UINT16 *)&(rItem->roomItem.roomName[j * 2]));
szText[rItem->roomItem.roomNameLength / 2] = '\0';
IMENUCTL_AddItem(m_pIMenu, NULL, 0, rItem->roomItem.roomId, szText, 0);
rItem = rItem->roomNext;
}
IMENUCTL_EnableCommand(m_pIMenu, TRUE);
IMENUCTL_SetActive(m_pIMenu, TRUE);
m_nLoginState = LOGIN_CHOOSE_ROOM;
break;
case LOGIN_CHOOSE_ROOM:
break;
case LOGIN_READY_LOGIN:
{
m_bUserMng = WSTRLEN(m_nUserName) == 0 && m_bUserMng;
if(m_bUserMng)
{
if(m_nCurCv == CanvasUserMng)
break;
SetCanvas(CanvasUserMng);
}
else
{
if(m_nCurCv == Canvas2)
break;
SetCanvas(Canvas2);
}
break;
}
m_nLoginState = LOGIN_CHOOSE_USER;
break;
case LOGIN_CHOOSE_USER:
case LOGIN_CHOOSE_PASS:
break;
case LOGIN_TEST_LOGIN:
if(m_nCurCv == InitCanvas)
{
CBrewMainMenu* main = (CBrewMainMenu*)m_pILoginCanvas;
if(main->m_pos.m_nPos == MAINMENU_BEGIN)
m_broom = true;
}
if(m_nCurCv != WaitCanvas)
{
SetCanvas(WaitCanvas);
if(m_nCurCv == WaitCanvas)
SetWaitingMsg(m_nCurCv,m_pILoginCanvas,
((CBrewLoginCanvasBase*)m_pILoginCanvas)->GetDispText(IDS_WAIT_BEGINLOGIN)
,false,LOGIN_INIT);
}
if(m_broom)
if (frame->getRoomList(m_nCurrentGameId, m_nCurrentServerId) == OK)
{
m_nLoginState = LOGIN_WAIT_LOGIN;
if(m_nCurCv == WaitCanvas)
SetWaitingMsg(m_nCurCv,m_pILoginCanvas,
((CBrewLoginCanvasBase*)m_pILoginCanvas)->GetDispText(IDS_WAIT_GAMEIN),
false,LOGIN_INIT);
m_broom = false;
break;
}
else
{
m_nLoginState = LOGIN_TEST_LOGIN;
break;
}
//MEMSET(m_nUserName, '\0', sizeof(m_nUserName));
//MEMSET(m_nUserPass, '\0', sizeof(m_nUserPass));
//ITEXTCTL_GetText(m_pIText1, &m_nUserName[0], 16);
//ITEXTCTL_GetText(m_pIText2, &m_nUserPass[0], 16);
WSTRLOWER(&m_nUserName[0]);
WSTRLOWER(&m_nUserPass[0]);
for (i = 0; i < WSTRLEN(m_nUserName); i ++)
m_nUserName[i] = HTONS(m_nUserName[i]);
for (i = 0; i < WSTRLEN(m_nUserPass); i ++)
m_nUserPass[i] = HTONS(m_nUserPass[i]);
if (m_bLoginFlag)
{
m_nLoginState = LOGIN_TEST_ENTER;
SetWaitingMsg(m_nCurCv,m_pILoginCanvas,
((CBrewLoginCanvasBase*)m_pILoginCanvas)->GetDispText(IDS_WAIT_LOGINED),false,LOGIN_READY_LOGIN);
}
else if ( frame->loginUser(WSTRLEN(m_nUserName) * 2, (UINT8 *)m_nUserName, WSTRLEN(m_nUserPass) * 2, (UINT8 *)m_nUserPass) == OK)
{
m_nLoginState = LOGIN_GET_LOGIN;
SetWaitingMsg(m_nCurCv,m_pILoginCanvas,
((CBrewLoginCanvasBase*)m_pILoginCanvas)->GetDispText(IDS_WAIT_LOGINING),false,LOGIN_READY_LOGIN);
}
for (i = 0; i < WSTRLEN(m_nUserName); i ++)
m_nUserName[i] = NTOHS(m_nUserName[i]);
for (i = 0; i < WSTRLEN(m_nUserPass); i ++)
m_nUserPass[i] = NTOHS(m_nUserPass[i]);
// MEMSET(m_nUserName, '\0', sizeof(m_nUserName));
// MEMSET(m_nUserPass, '\0', sizeof(m_nUserPass));
// ITEXTCTL_GetText(m_pIText1, &m_nUserName[0], 16);
//ITEXTCTL_GetText(m_pIText2, &m_nUserPass[0], 16);
//WSTRLOWER(&m_nUserName[0]);
//WSTRLOWER(&m_nUserPass[0]);
break;
case LOGIN_GET_LOGIN:
//break;
m_nLoginState = LOGIN_WAIT_LOGIN;
m_nWaitLoginTime = timeMS;
break;
case LOGIN_WAIT_LOGIN:
if (timeMS > m_nWaitLoginTime + TIMEOUT)
//m_nLoginState = LOGIN_GET_LOGIN;
bTimeOut = true;
break;
case LOGIN_TEST_ENTER:
if (frame->enterRoom(m_nCurrentGameId, m_nCurrentServerId, (UINT8)m_nCurrentRoomId) == OK)
{
m_nLoginState = LOGIN_GET_ENTER;
if(m_nCurCv != WaitCanvas)
{
SetCanvas(WaitCanvas);
}
if(m_nCurCv == WaitCanvas)
SetWaitingMsg(m_nCurCv,m_pILoginCanvas,
((CBrewLoginCanvasBase*)m_pILoginCanvas)->GetDispText(IDS_WAIT_ENTERING),false,LOGIN_INIT);
}
break;
case LOGIN_GET_ENTER:
m_nLoginState = LOGIN_WAIT_ENTER;
m_nWaitEnterTime = timeMS;
break;
case LOGIN_WAIT_ENTER:
if (timeMS > m_nWaitEnterTime + TIMEOUT)
//m_nLoginState = LOGIN_GET_ENTER;
bTimeOut = true;
break;
case LOGIN_READY_REGISTER:
{
if(m_nCurCv != CanvasRegister)
{
SetCanvas(CanvasRegister);
}
}
break;
case LOGIN_TEST_REGISTER:
{
if(m_nCurCv != WaitCanvas)
{
SetCanvas(WaitCanvas);
if(m_nCurCv == WaitCanvas)
SetWaitingMsg(m_nCurCv,m_pILoginCanvas,
((CBrewLoginCanvasBase*)m_pILoginCanvas)->GetDispText(IDS_WAIT_REGING),false,LOGIN_READY_REGISTER);
}
if(frame->registerUser(m_userMng.urs.userNameLength,
(UINT8*)m_userMng.urs.userName,
m_userMng.urs.userPassLength,(UINT8*)m_userMng.urs.userPass,
m_userMng.urs.nickNameLength,(UINT8*)m_userMng.urs.nickName,
m_userMng.urs.mobileid,m_userMng.urs.userinfo) == OK)
{
m_nLoginState = LOGIN_GET_REGISTER;
m_bReg = true;
}
}
break;
case LOGIN_GET_REGISTER:
m_nLoginState = LOGIN_WAIT_REGISTER;
m_nWaitEnterTime = timeMS;
break;
case LOGIN_WAIT_REGISTER:
if (timeMS > m_nWaitEnterTime + TIMEOUT)
//m_nLoginState = LOGIN_GET_REGISTER;
bTimeOut = true;
break;
case LOGIN_READY_MODIFY:
{
if(m_nCurCv != CanvasModify)
{
SetCanvas(CanvasModify);
}
}
break;
case LOGIN_TEST_MODIFY:
{
if(m_nCurCv != WaitCanvas)
{
SetCanvas(WaitCanvas);
if(m_nCurCv == WaitCanvas)
SetWaitingMsg(m_nCurCv,m_pILoginCanvas,
((CBrewLoginCanvasBase*)m_pILoginCanvas)->GetDispText(IDS_WAIT_MODING),false,LOGIN_READY_MODIFY);
}
if(frame->modifyUser(m_userMng.urs.userNameLength,
(UINT8*)m_userMng.urs.userName,
m_userMng.urs.userPassLength,(UINT8*)m_userMng.urs.userPass,
m_userMng.userNewPassLength,(UINT8*)m_userMng.userNewPass,
m_userMng.urs.nickNameLength,(UINT8*)m_userMng.urs.nickName,
m_userMng.urs.mobileid,m_userMng.urs.userinfo) == OK)
{
m_nLoginState = LOGIN_GET_MODIFY;
m_bReg = false;
}
}
break;
case LOGIN_GET_MODIFY:
m_nLoginState = LOGIN_WAIT_MODIFY;
m_nWaitEnterTime = timeMS;
break;
case LOGIN_WAIT_MODIFY:
if (timeMS > m_nWaitEnterTime + TIMEOUT)
//m_nLoginState = LOGIN_GET_MODIFY;
bTimeOut = true;
break;
default:
break;
}
if(bTimeOut)
{
if(m_nCurCv == WaitCanvas)
{
CWaitingCanvas* p = (CWaitingCanvas*)m_pILoginCanvas;
p->TimeOut();
}
}
}
void CBrewLogin::onEvent(AEEEvent eCode, UINT16 wParam, UINT32 dwParam){
if (frame == NULL)
return;
switch (eCode){
case EVT_COMMAND:
if (m_nLoginRunFlag == FALSE)
break;
if(m_nCurCv != Canvas1)
{
CBrewLoginCanvasBase *p = (CBrewLoginCanvasBase*)m_pILoginCanvas;
boolean b = p->onEvent(eCode,wParam,dwParam);
if(b)
break;
}
switch (m_nLoginState){
case LOGIN_CHOOSE_SERVER:
m_nCurrentServerId = wParam;
m_nLoginState = LOGIN_TEST_ROOM_LIST;
IMENUCTL_SetActive(m_pIMenu, FALSE);
break;
case LOGIN_CHOOSE_ROOM:
m_nCurrentRoomId = wParam;
if (m_bLoginFlag == FALSE)
m_nLoginState = LOGIN_READY_LOGIN;
else{
//m_nLoginRunFlag = FALSE;
//frame->postUserEvent(HALL, SWITCH_INTO, 0);
m_nLoginState = LOGIN_TEST_ENTER;
}
IMENUCTL_SetActive(m_pIMenu, FALSE);
break;
default:
break;
}
break;
case EVT_USER:
switch (wParam){
case SWITCH_INTO:
//frame->setCanvas(m_pILoginCanvas);
SetCanvas(Canvas1);
m_nLoginState = LOGIN_READY_ROOM;
m_nLoginRunFlag = TRUE;
break;
default:
break;
}
break;
default:
break;
}
return;
}
void CBrewLogin::Release(){
delete this;
}
IBrewLogin *CreateBrewLogin(){
return (IBrewLogin *)new CBrewLogin();
}
void CBrewLogin::SetCanvas(CURRENTCANVAS ci)
{
if (m_pILoginCanvas != NULL)
{
m_pILoginCanvas->Release();
m_pILoginCanvas = NULL;
}
switch(ci)
{
case Canvas1:
m_pILoginCanvas = CreateLoginCanvas();
break;
case Canvas2:
m_pILoginCanvas = CreateLoginCanvas2();
break;
case CanvasUserMng:
m_pILoginCanvas = CreateUserMng();
break;
case CanvasRegister:
m_pILoginCanvas = CreateLoginCanvas3();
break;
case CanvasModify:
m_pILoginCanvas = CreateLoginCanvas42();
break;
case WaitCanvas:
m_pILoginCanvas = CreateWaitingCanvas();
break;
case InitCanvas:
m_pILoginCanvas = CreateBrewMainMenu();
break;
}
if (m_pILoginCanvas != NULL)
{
m_pILoginCanvas->setFrame(this);
frame->setCanvas(m_pILoginCanvas);
m_nCurCv = ci;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -