#include "SunClientPrecompiledHeader.h" #include ".\tutorialmsg.h" #include "InterfaceManager.h" #ifdef _GS_MOD_CNINA_TUTORIAL_POPUP #include "uiTutorialMissionMan.h" #include "TutorialMissionInvite.h" #endif//_GS_MOD_CNINA_TUTORIAL_POPUP #define TUTORIAL_MSG_TIME 5000 TutorialMsg::TutorialMsg(void) : m_dwCurTime(0), m_eState(eTUTORIAL_NONE), m_eOldState(eTUTORIAL_NONE) { } TutorialMsg::~TutorialMsg(void) { } //------------------------------------------------------------------------------ /** Æ©Å丮¾ó ÃʱâÈ­±¸¹® ÇöÀç 0815¿Í 0816»çÀÌ¿¡ ¾îÁ¤ÂÄÇÏ°Ô ´Þ¶ó¼­ µðÆÄÀÎÀ» °øÁ¸ */ void TutorialMsg::InitTutorial(TCHAR *szName) { //NULL°ªÀÌ µé¾î¿À¸é ÃʱâÈ­»óÅÂÀÌ´Ù if(!szName) { m_eOldState = m_eState = eTUTORIAL_NONE; return; } //ver0816-Æ©Å丮¾ó #ifdef _GS_MOD_TUTORIAL_MSG2_1135 //·ëâ¿¡¼­ ¿Ô´Ù¸é ¸®ÅÏÇÑ´Ù. if(m_eOldState==eTUTORIAL_STEP4) return; #ifdef _GS_MOD_CNINA_TUTORIAL_POPUP SetTutorialStep(eTUTORIAL_STEP0); #else SetTutorialStep(eTUTORIAL_STEP1); #endif//_GS_MOD_CNINA_TUTORIAL_POPUP return; #endif//_GS_MOD_TUTORIAL_MSG2_1135 //ver0815-Æ©Å丮¾ó #ifdef _GS_MOD_TUTORIAL_MSG_1089 if(!m_vPlayerName.empty()) { for(size_t i = 0;i < m_vPlayerName.size();++i) { TCHAR * pszName = const_cast(m_vPlayerName[i].c_str()); if(NULL==Strcmp(pszName, szName)) { //ÇѹøºÃ´øÄ³¸¯ÅÍ´Â ¸Þ½Ã¸¦ »Ñ¸®Áö¾Ê´Â´Ù. return; } } } m_vPlayerName.push_back(util::_tstring(szName)); #ifdef _GS_MOD_CNINA_TUTORIAL_POPUP SetTutorialStep(eTUTORIAL_STEP0); #else SetTutorialStep(eTUTORIAL_STEP1); #endif//_GS_MOD_CNINA_TUTORIAL_POPUP return; #endif//_GS_MOD_TUTORIAL_MSG_1089 } //------------------------------------------------------------------------------ /** */ void TutorialMsg::UpdateTutorial() { //ÃʱâÈ­¾ÈµÈ»óÅÂ¸é ¸®ÅÏ if(eTUTORIAL_NONE==m_eState || m_listStringCode.empty()) return; switch(m_eState) { //5Ãʰ£°ÝÀ¸·Î ¸Þ½ÃÁöÃâ·Â case eTUTORIAL_STEP1: case eTUTORIAL_STEP4: { //Á¦Çѽð£ÀÌ µÇ¸é ´ÙÀ½¸Þ½ÃÁöÃâ·Â if( (g_CurTime - m_dwCurTime) >= TUTORIAL_MSG_TIME ) { m_dwCurTime = g_CurTime; int iStringCode = m_listStringCode.front(); g_InterfaceManager.GetInterfaceString(iStringCode, m_szMessage ,INTERFACE_STRING_LENGTH); m_listStringCode.pop_front(); int iDelay = (m_listStringCode.empty() ? (-1):(TUTORIAL_MSG_TIME)); g_InterfaceManager.ShowMessageBox(m_szMessage, iDelay); } } break; //¹èƲÁ¸Ã¢¿¡¼­ÀÇ Ã³¸® case eTUTORIAL_STEP2: case eTUTORIAL_STEP3: { g_InterfaceManager.GetInterfaceString(m_listStringCode.front(), m_szMessage ,INTERFACE_STRING_LENGTH); g_InterfaceManager.ShowMessageBox(m_szMessage,-1); m_listStringCode.pop_front(); } break; } } //------------------------------------------------------------------------------ /** ½ºÅܺ°·Î ÇϵåÄÚµù¸¦ ÇÑ´Ù. */ void TutorialMsg::SetTutorialStep(eTUTORIAL_STATE eState) { //½ºÆ®¸µÄÚµå´Â Ç×»ó ºó»óÅ¿©¾ßÇÔ if(!m_listStringCode.empty()) m_listStringCode.clear(); //±âÁ¸¸Þ½ÃÁö´Â Á¦°ÅÇÑ´Ù. g_InterfaceManager.HideMessageBox(); m_eOldState = m_eState; m_eState = eState; switch(eState) { #ifdef _GS_MOD_CNINA_TUTORIAL_POPUP //STEP0:Áß±¹¹öÀü¿¡¼­´Â Æ©Å丮¾ó ¸Þ½ÃÁöÀÌÀü¿¡ ÆË¾÷⸦¶ç¿î´Ù case eTUTORIAL_STEP0: { // Æ©Å丮¾ó ¹Ì¼Çâ ¶ç¿ì±â TutorialMissionInvite * pTutorial = GET_CAST_DIALOG(TutorialMissionInvite, IM_TUTORIAL_MISSION_MANAGER::TUTORIALINVITE); if( pTutorial ) { pTutorial->ShowInterface(TRUE); } g_InterfaceManager.LockDlgs(IM_TUTORIAL_MISSION_MANAGER::TUTORIALINVITE); } break; #endif//_GS_MOD_CNINA_TUTORIAL_POPUP //STEP1:Çʵ嵵ÀԺο¡¼­ ¸Þ½ÃÁö·£´õÇÑ´Ù. case eTUTORIAL_STEP1: { m_dwCurTime = g_CurTime-3500; //ver0816 - Æ©Å丮¾ó #ifdef _GS_MOD_TUTORIAL_MSG2_1135 //203203~203207 ¸Þ½ÃÁö»ðÀÔ for(int i=203203;i<203208;++i) { m_listStringCode.push_back(i); } break; #endif//_GS_MOD_TUTORIAL_MSG2_1135 //ver0815 - Æ©Å丮¾ó #ifdef _GS_MOD_TUTORIAL_MSG_1089 //203202~203210±îÁö »ðÀÔ for(int i=203202;i<203211;++i) { m_listStringCode.push_back(i); } break; #endif//_GS_MOD_TUTORIAL_MSG_1089 } break; case eTUTORIAL_STEP2://·Îºñâ { m_listStringCode.push_back(203208); } break; case eTUTORIAL_STEP3://»ý¼ºÃ¢ { m_listStringCode.push_back(203209); } break; case eTUTORIAL_STEP4://·ëâ { m_listStringCode.push_back(203210); m_listStringCode.push_back(203211); } break; } }