648 lines
17 KiB
C++
648 lines
17 KiB
C++
//
|
|
//#include "WTYPES.h"
|
|
//#include "SGameSound.h"
|
|
//#include ".\sgameselect.h"
|
|
//
|
|
//#include "KDeviceManager.h"
|
|
//#include "KRenderObject.h"
|
|
//#include "KRenderDeviceDX.h"
|
|
//#include "K3DCamera.h"
|
|
//#include "KNX3Loader.h"
|
|
//#include "KPrimitive.h"
|
|
//
|
|
//#include <WindowsX.h>
|
|
//
|
|
//#include <kfile/KFiler.h>
|
|
//#include "KResourceManager.h"
|
|
//
|
|
//#include "KSeqModel.h"
|
|
//#include "KSeqAvatar.h"
|
|
//#include "KSeqAvatarEx.h"
|
|
//
|
|
//#include "SCobManager.h"
|
|
//
|
|
//#include "SGameMessage.h"
|
|
//#include "SNetMessage.h"
|
|
//
|
|
//const char * pLoadingList[] =
|
|
//{
|
|
// "bg_select.nx3", //배경
|
|
// "prop_candle01.nx3" , //촛대
|
|
// "ui_disk_position.nx3" , //발판위치
|
|
//};
|
|
//
|
|
//const char * pDisk[] =
|
|
//{
|
|
// "ui_disk_default.nx3", //기본 0
|
|
// "ui_disk_active_on.nx3", //커서 오버 시작 1
|
|
// "ui_disk_active_ing.nx3", //커서 오버 중 2
|
|
// "ui_disk_active_end.nx3", //커서 오버 끝 3
|
|
// "ui_disk_select_on.nx3", //선택 시작 4
|
|
// "ui_disk_select_ing.nx3", //선택 중 5
|
|
// "ui_disk_select_end.nx3", //선택 끝 6
|
|
// "ui_disk_accept.nx3", //완료 7
|
|
//};
|
|
//
|
|
//const char * pMagic[] =
|
|
//{
|
|
// "ui_magic_default.nx3", //기본 0
|
|
// "ui_magic_active_on.nx3", //선택 시작 1
|
|
// "ui_magic_active_ing.nx3",//선택 2
|
|
// "ui_magic_active_end.nx3",//선택 완료 3
|
|
// "ui_magic_accept.nx3", //완료 4
|
|
//};
|
|
//
|
|
//const char * pAvatar[] =
|
|
//{
|
|
// "asf.cob", //아수라 여자~
|
|
// "asm.cob", //아수라 남자~
|
|
// "def.cob", //데바 여자~
|
|
// "dem.cob", //데바 남자~
|
|
// "asf.cob", //임시~
|
|
//};
|
|
//
|
|
//const char * pSearchName = "prop_disk";
|
|
//
|
|
//SGameSelect::SGameSelect(SGameManager* pGameMng, int nGameType,
|
|
// K3DRenderDeviceDX *pRenderDevice, SSoundManager *pSoundMng,
|
|
// KTextureManager * pTextureMng, KNX3Manager * pNX3Mng )
|
|
// : SGame( pGameMng, nGameType, pRenderDevice, pSoundMng, pTextureMng, pNX3Mng )
|
|
//{
|
|
// m_nGameType = GAME_TYPE_SELECT; //게임 타입
|
|
// m_nNextGameType = GAME_TYPE_WORLD; //다음 예약 게임 타입
|
|
//
|
|
// Init();
|
|
//}
|
|
//
|
|
//SGameSelect::~SGameSelect(void)
|
|
//{
|
|
// Destroy();
|
|
//}
|
|
//
|
|
//void SGameSelect::Init()
|
|
//{
|
|
// m_pModelBG = NULL; //배경
|
|
// m_pMagicModel = NULL; //마법진
|
|
//
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// m_pSeqAvatar[i] = NULL;
|
|
// }
|
|
//
|
|
// m_nCurSelect = -1; //현재 select Index
|
|
// m_nOldSelect = -1; //이전 select Index
|
|
//
|
|
// m_nCurMouseSelect = -1;
|
|
// m_nOldMouseSelect = -1;
|
|
//
|
|
// m_nGameState = STATE_SELECT;
|
|
//
|
|
// Load();
|
|
//}
|
|
//
|
|
//void SGameSelect::Destroy()
|
|
//{
|
|
// SAFE_DELETE( m_pModelBG );
|
|
// SAFE_DELETE( m_pMagicModel );
|
|
//
|
|
// SAFE_DELETE_VECTOR( m_vCandle );
|
|
// SAFE_DELETE_VECTOR( m_vDisk );
|
|
//
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// SAFE_DELETE( m_pSeqAvatar[i] );
|
|
// }
|
|
//}
|
|
//
|
|
//void SGameSelect::Load()
|
|
//{
|
|
// m_pModelBG = new KSeqModel;
|
|
// m_pModelBG->Initialize();
|
|
// m_pModelBG->AddAnimation( "default", pLoadingList[0] );
|
|
// m_pModelBG->PlayAnimation( GetSafeTickCount(), "default", KSeqModel::SEQTYPE_LOOP );
|
|
//
|
|
// KSeqObject *pSequencer = m_pModelBG->GetCurrentAnimation();
|
|
// _CID( REQ_EVPOINT );
|
|
// KMsgREQ_EVPOINT msg;
|
|
// std::string strCandle;
|
|
// if ( pSequencer->Perform( id_REQ_EVPOINT, msg ) != NULL )
|
|
// {
|
|
// for ( int i(0); msg.GetPointCount() >i; i++ )
|
|
// {
|
|
// KEventPointSeq *pEpSeq = msg.GetPoint( i );
|
|
// strCandle = pEpSeq->GetName();
|
|
// strCandle.erase(0, 3);
|
|
//
|
|
// //마법진 Load
|
|
// if( strCandle.compare("magic") == 0 )
|
|
// {
|
|
// m_pMagicModel = new KSeqModel;
|
|
// m_pMagicModel->Initialize( );
|
|
// m_pMagicModel->AddAnimation( "default" , pMagic[0] );
|
|
// m_pMagicModel->AddAnimation( "SelectOn" , pMagic[1] );
|
|
// m_pMagicModel->AddAnimation( "SelectIng", pMagic[2] );
|
|
// m_pMagicModel->AddAnimation( "SelectOff", pMagic[3] );
|
|
// m_pMagicModel->AddAnimation( "Accept" , pMagic[4] );
|
|
//
|
|
// m_pMagicModel->SetTransform( pEpSeq->GetPoint() );
|
|
// m_pMagicModel->PlayAnimation( GetSafeTickCount(), "default", KSeqModel::SEQTYPE_LOOP );
|
|
// continue;
|
|
// }
|
|
//
|
|
// strCandle += ".nx3";
|
|
// KStream *stream = KResourceManager::GetStream( strCandle.c_str(), false );
|
|
// if ( stream == NULL )
|
|
// continue;
|
|
// delete stream;
|
|
//
|
|
// //촛대 Load
|
|
// KSeqModel *pModel = new KSeqModel;
|
|
// pModel->Initialize( );
|
|
// pModel->AddAnimation( "default", strCandle.c_str() );
|
|
// pModel->SetTransform( pEpSeq->GetPoint() );
|
|
// pModel->PlayAnimation( GetSafeTickCount(), "default", KSeqModel::SEQTYPE_LOOP );
|
|
//
|
|
// m_vCandle.push_back(pModel);
|
|
// }
|
|
// }
|
|
//
|
|
// delete pSequencer;
|
|
//
|
|
// //Foot Position
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// m_DiskModel[i].Initialize();
|
|
// m_DiskModel[i].AddAnimation( "default", pLoadingList[2] );
|
|
// m_DiskModel[i].PlayAnimation( GetSafeTickCount(), "default", KSeqModel::SEQTYPE_REVERSE );
|
|
// m_pDisk[i] = (KSequencer*)m_DiskModel[i].GetCurrentAnimation();
|
|
// }
|
|
//
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// _CID( REQ_EVPOINT )
|
|
// KMsgREQ_EVPOINT msg2;
|
|
// if ( m_pDisk[i]->PerformMsg( id_REQ_EVPOINT, msg2 ) != NULL )
|
|
// {
|
|
//// for ( int i(0); msg2.GetPointCount() >i; i++ )
|
|
// {
|
|
// KEventPointSeq *pEpSeq = msg2.GetPoint( i );
|
|
// strCandle = pEpSeq->GetName();
|
|
//
|
|
// KSeqModel *pModel = new KSeqModel;
|
|
//
|
|
// pModel->AddAnimation( "default" , pDisk[0] );
|
|
// pModel->AddAnimation( "CursorOn" , pDisk[1] );
|
|
// pModel->AddAnimation( "CursorIng", pDisk[2] );
|
|
// pModel->AddAnimation( "CursorOff", pDisk[3] );
|
|
// pModel->AddAnimation( "SelectOn" , pDisk[4] );
|
|
// pModel->AddAnimation( "SelectIng", pDisk[5] );
|
|
// pModel->AddAnimation( "SelectOff", pDisk[6] );
|
|
// pModel->AddAnimation( "Accept" , pDisk[7] );
|
|
//
|
|
// pModel->SetTransform( pEpSeq->GetPoint() );
|
|
// pModel->Initialize();
|
|
// pModel->PlayAnimation( GetSafeTickCount(), "default", KSeqModel::SEQTYPE_LOOP );
|
|
// m_vDisk.push_back( pModel );
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// //Load Avatar
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// m_pSeqAvatar[i] = new KSeqAvatarEx;
|
|
// m_pSeqAvatar[i]->Initialize();
|
|
//
|
|
// std::vector<COBSET *> *coblist = COBManager::GetManager()->Load( pAvatar[i] );
|
|
// if( coblist )
|
|
// {
|
|
// std::vector<COBSET *>::iterator it = coblist->begin();
|
|
// for( ; coblist->end() != it; it++ )
|
|
// {
|
|
// COBSET * pSet = (*it);
|
|
// for( unsigned int j(0); pSet->m_HairList.size()>j; j++ )
|
|
// m_pSeqAvatar[i]->AddMesh( pSet->nAniPart, MPART_HAIR, pSet->m_HairList[j].c_str() );
|
|
//
|
|
// for( unsigned int j(0); pSet->m_FaceList.size()>j; j++ )
|
|
// m_pSeqAvatar[i]->AddMesh( pSet->nAniPart, MPART_FACE, pSet->m_FaceList[j].c_str() );
|
|
//
|
|
// for( unsigned int j(0); pSet->m_BodyList.size()>j; j++ )
|
|
// m_pSeqAvatar[i]->AddMesh( pSet->nAniPart, MPART_BODY, pSet->m_BodyList[j].c_str() );
|
|
//
|
|
// for( unsigned int j(0); pSet->m_HandList.size()>j; j++ )
|
|
// m_pSeqAvatar[i]->AddMesh( pSet->nAniPart, MPART_HAND, pSet->m_HandList[j].c_str() );
|
|
//
|
|
// for( unsigned int j(0); pSet->m_FootList.size()>j; j++ )
|
|
// m_pSeqAvatar[i]->AddMesh( pSet->nAniPart, MPART_FOOT, pSet->m_FootList[j].c_str() );
|
|
//
|
|
// for( unsigned int j(0); pSet->m_AniList.size()>j; j++ )
|
|
// {
|
|
// m_pSeqAvatar[i]->AddAnimation( pSet->nAniPart, pSet->m_AniList[j].c_str() );
|
|
// }
|
|
// m_pSeqAvatar[i]->PlayAnimation( pSet->nAniPart, GetSafeTickCount(), "default01", KSeqAvatar::SEQTYPE_LOOP );
|
|
// m_pSeqAvatar[i]->SetDeform(pSet->nAniPart);
|
|
// }
|
|
// }
|
|
// //Time Event
|
|
// }
|
|
//}
|
|
//
|
|
//bool SGameSelect::Render( KViewportObject *viewport )
|
|
//{
|
|
// //제어 안해두 되는 것=========================
|
|
// //배경
|
|
// m_pModelBG->Render(viewport);
|
|
//
|
|
// //촛대
|
|
// for( unsigned int i(0); m_vCandle.size()>i; i++ )
|
|
// m_vCandle[i]->Render(viewport);
|
|
// //============================================
|
|
//
|
|
// //캐릭터
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// m_pSeqAvatar[i]->Render( viewport );
|
|
//
|
|
// //마법진
|
|
// if(m_pMagicModel)
|
|
// {
|
|
// m_pMagicModel->Render(viewport);
|
|
//
|
|
// if( strcmp( m_pMagicModel->GetCurrentAnimationName(), "SelectOn" ) == 0 )
|
|
// {
|
|
// if( !m_pMagicModel->IsPlaying() )
|
|
// {
|
|
// m_pMagicModel->PlayAnimation( m_dwTime, "SelectIng", KSeqModel::SEQTYPE_LOOP );
|
|
// }
|
|
// }
|
|
// }
|
|
// //발판 EventPoint
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// if( i == m_nCurSelect ) continue;
|
|
//
|
|
// m_DiskModel[i].Render(viewport);
|
|
// m_pDisk[i]->Render(viewport);
|
|
//
|
|
// _CID( REQ_EVPOINT );
|
|
// KMsgREQ_EVPOINT msg2;
|
|
// if ( m_pDisk[i]->Perform( id_REQ_EVPOINT, msg2 ) != NULL )
|
|
// {
|
|
// KEventPointSeq *pEpSeq = msg2.GetPoint( i );
|
|
// m_vDisk[i]->SetTransform( pEpSeq->GetPoint() );
|
|
//
|
|
// K3DMatrix mat;
|
|
// K3DMatrixIdentity(mat);
|
|
// float angRadian = 180.f*K3D_PI/180;
|
|
// K3DMatrixRotationZ( &mat, angRadian );//회전시키는데 위치가 날라가지?
|
|
// mat._41 = pEpSeq->GetPoint()._41;
|
|
// mat._42 = pEpSeq->GetPoint()._42;
|
|
// mat._43 = pEpSeq->GetPoint()._43;
|
|
//
|
|
// m_pSeqAvatar[i]->SetTransform( mat );
|
|
// }
|
|
//
|
|
// if( strcmp( m_vDisk[i]->GetCurrentAnimationName(), "SelectOff" ) == 0 )
|
|
// {
|
|
// if( !m_vDisk[i]->IsPlaying() )
|
|
// m_vDisk[i]->PlayAnimation( m_dwTime, "default", KSeqModel::SEQTYPE_LOOP );
|
|
// }
|
|
// }
|
|
//
|
|
// if( m_nCurSelect >= 0 )
|
|
// {
|
|
// m_pDisk[m_nCurSelect]->Render(viewport);
|
|
// m_DiskModel[m_nCurSelect].Render(viewport);
|
|
//
|
|
// _CID( REQ_EVPOINT );
|
|
// KMsgREQ_EVPOINT msg2;
|
|
// if ( m_pDisk[m_nCurSelect]->Perform( id_REQ_EVPOINT, msg2 ) != NULL )
|
|
// {
|
|
// KEventPointSeq *pEpSeq = msg2.GetPoint( m_nCurSelect );
|
|
// m_vDisk[m_nCurSelect]->SetTransform( pEpSeq->GetPoint() );
|
|
//
|
|
// K3DMatrix mat;
|
|
// K3DMatrixIdentity(mat);
|
|
// float angRadian = 180.f*K3D_PI/180;
|
|
// K3DMatrixRotationZ( &mat, angRadian );//회전시키는데 위치가 날라가지?
|
|
// mat._41 = pEpSeq->GetPoint()._41;
|
|
// mat._42 = pEpSeq->GetPoint()._42;
|
|
// mat._43 = pEpSeq->GetPoint()._43;
|
|
//
|
|
// m_pSeqAvatar[m_nCurSelect]->SetTransform( mat );
|
|
// }
|
|
//
|
|
// if( strcmp( m_vDisk[m_nCurSelect]->GetCurrentAnimationName(), "SelectOn" ) == 0 )
|
|
// {
|
|
// if( !m_vDisk[m_nCurSelect]->IsPlaying() )
|
|
// {
|
|
// //발판 변경
|
|
// m_vDisk[m_nCurSelect]->PlayAnimation( m_dwTime, "SelectIng", KSeqModel::SEQTYPE_LOOP );
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// for( unsigned int i(0); m_vDisk.size()>i; i++ )
|
|
// m_vDisk[i]->Render(viewport);
|
|
//
|
|
// return true;
|
|
//}
|
|
//
|
|
//bool SGameSelect::Process( DWORD time )
|
|
//{
|
|
// m_dwTime = time;
|
|
//
|
|
// m_pModelBG->Process( time );
|
|
//
|
|
// for( unsigned int i(0); m_vCandle.size()>i; i++ )
|
|
// m_vCandle[i]->Process(time);
|
|
//
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// m_pSeqAvatar[i]->Process(time);
|
|
//
|
|
// if(m_pMagicModel) m_pMagicModel->Process(time);
|
|
//
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// m_pDisk[i]->Process(time);
|
|
// m_DiskModel[i].Process(time);
|
|
// }
|
|
//
|
|
// for( unsigned int i(0); m_vDisk.size()>i; i++ )
|
|
// m_vDisk[i]->Process(time);
|
|
//
|
|
// //Login이 완료 됐다.
|
|
// //애니 메이션 완료 되면, Stage 를 변경 한다.
|
|
// if( m_nGameState == STATE_LOGIN_WAIT )
|
|
// {
|
|
// if( !m_DiskModel[m_nCurSelect].IsPlaying() )
|
|
// {
|
|
// m_nGameState = STATE_LOGIN;
|
|
// }
|
|
// }
|
|
//
|
|
// if( m_nGameState == STATE_LOGIN )
|
|
// {
|
|
// //모션 취하는게 끝났다.
|
|
// if( !m_pMagicModel->IsPlaying() )
|
|
// {
|
|
// m_nGameState = STATE_END;
|
|
//
|
|
// SetGameRef( STAGE_END );
|
|
// }
|
|
// }
|
|
//
|
|
// return true;
|
|
//}
|
|
//
|
|
//void *SGameSelect::Perform( KID id, KArg& msg )
|
|
//{
|
|
//
|
|
// return (void*)0;
|
|
//}
|
|
//
|
|
//void SGameSelect::Bot_Accept( int nSelect, const char * pName )
|
|
//{
|
|
// _oprint( "Bot_Accept : %d - %s\n", nSelect, pName );
|
|
//
|
|
// m_nCurSelect = nSelect;
|
|
//
|
|
// srand( GetSafeTickCount() );
|
|
// TS_LOGIN msg;
|
|
// sprintf( msg.szName, pName );
|
|
// msg.race = m_nCurSelect;
|
|
//
|
|
// PendMessage( &msg );
|
|
//
|
|
// SetGameRef( STAGE_END );
|
|
//}
|
|
//
|
|
////선택이 완료 되었다. 게임에 들어 가자~
|
|
//void SGameSelect::Accept()
|
|
//{
|
|
// //m_pSoundMng->PlayMusic( KResourceManager::GetValidFileName( "bgm.mp3" ).c_str() );
|
|
//
|
|
// //Accept
|
|
// m_pMagicModel->PlayAnimation( m_dwTime, "Accept" );
|
|
// m_vDisk[m_nCurSelect]->PlayAnimation( m_dwTime, "Accept" );
|
|
//
|
|
// //Login 요청~
|
|
// srand( GetSafeTickCount() );
|
|
// TS_LOGIN msg;
|
|
// sprintf( msg.szName, "berserk" );
|
|
// msg.race = m_nCurSelect;
|
|
//
|
|
// PendMessage( &msg );
|
|
//}
|
|
//
|
|
//void SGameSelect::MouseCursorOver()
|
|
//{
|
|
// if( m_nCurMouseSelect >= 0 )
|
|
// m_vDisk[m_nCurMouseSelect]->PlayAnimation( m_dwTime, "CursorIng", KSeqModel::SEQTYPE_LOOP );
|
|
//
|
|
// if( m_nOldMouseSelect >= 0 && m_nCurSelect != m_nOldMouseSelect )
|
|
// m_vDisk[m_nOldMouseSelect]->PlayAnimation( m_dwTime, "default", KSeqModel::SEQTYPE_LOOP );
|
|
//}
|
|
//
|
|
//void SGameSelect::MouseSelect()
|
|
//{
|
|
// if( m_nCurSelect>=0 )
|
|
// {
|
|
// if( m_DiskModel[m_nCurSelect].IsPlaying() )
|
|
// return;
|
|
// }
|
|
//
|
|
// for( int i(0); CHARACTER_NUMBER>i; i++ )
|
|
// {
|
|
// //현재 선택된 넘이 아니면서, 앞으로 나가고 있는것들 모두 후진~
|
|
// if( m_nCurSelect != i && m_DiskModel[i].GetAniType() == KSeqModel::SEQTYPE_NORMAL )
|
|
// {
|
|
// m_DiskModel[i].PlayAnimation( m_dwTime, "default", KSeqModel::SEQTYPE_REVERSE );
|
|
// m_vDisk[i]->PlayAnimation( m_dwTime, "SelectOff", KSeqModel::SEQTYPE_NORMAL );
|
|
// }
|
|
// }
|
|
//
|
|
// if( m_nCurSelect >= 0 )
|
|
// {
|
|
// m_DiskModel[m_nCurSelect].PlayAnimation( m_dwTime, "default", KSeqModel::SEQTYPE_NORMAL );
|
|
// m_vDisk[m_nCurSelect]->PlayAnimation( m_dwTime, "SelectOn", KSeqModel::SEQTYPE_NORMAL );
|
|
// if(m_pMagicModel) m_pMagicModel->PlayAnimation( m_dwTime, "SelectOn", KSeqModel::SEQTYPE_NORMAL );
|
|
// }
|
|
//}
|
|
//
|
|
//void SGameSelect::AvaterSelect()
|
|
//{
|
|
// //캐릭터 부위 교체
|
|
// //if( m_bKey['1'] )
|
|
// //{
|
|
// // //if( m_nCurSelect == 4 ) return;
|
|
//
|
|
// // if( m_nCurSelect >= 0 ) m_nOldSelect = m_nCurSelect;
|
|
// // m_nCurSelect = 4;
|
|
//
|
|
// // MouseSelect();
|
|
//
|
|
// // return;
|
|
// //}
|
|
// //
|
|
// //if( m_bKey['2'] )
|
|
// //{
|
|
// // //if( m_nCurSelect == 2 ) return;
|
|
//
|
|
// // if( m_nCurSelect >= 0 ) m_nOldSelect = m_nCurSelect;
|
|
// // m_nCurSelect = 2;
|
|
//
|
|
// // MouseSelect();
|
|
//
|
|
// // return;
|
|
// //}
|
|
// //
|
|
// //if( m_bKey['3'] )
|
|
// //{
|
|
// // //if( m_nCurSelect == 0 ) return;
|
|
//
|
|
// // if( m_nCurSelect >= 0 ) m_nOldSelect = m_nCurSelect;
|
|
// // m_nCurSelect = 0;
|
|
//
|
|
// // MouseSelect();
|
|
//
|
|
// // return;
|
|
// //}
|
|
//
|
|
// //if( m_bKey['4'] )
|
|
// //{
|
|
// // //if( m_nCurSelect == 1 ) return;
|
|
//
|
|
// // if( m_nCurSelect >= 0 ) m_nOldSelect = m_nCurSelect;
|
|
// // m_nCurSelect = 1;
|
|
//
|
|
// // MouseSelect();
|
|
// //
|
|
// // return;
|
|
// //}
|
|
//
|
|
// //if( m_bKey['5'] )
|
|
// //{
|
|
// // //if( m_nCurSelect == 3 ) return;
|
|
//
|
|
// // if( m_nCurSelect >= 0 ) m_nOldSelect = m_nCurSelect;
|
|
// // m_nCurSelect = 3;
|
|
//
|
|
// // MouseSelect();
|
|
// //}
|
|
//
|
|
//}
|
|
//
|
|
////Network===============================================================================
|
|
//
|
|
//void SGameSelect::ProcMsgAtStatic( SGameMessage * pGameMsg )
|
|
//{
|
|
// SGame::ProcMsgAtStatic(pGameMsg);
|
|
// _CID( REQ_INTERSECTIONLINE );
|
|
//
|
|
// switch( pGameMsg->nType )
|
|
// {
|
|
// case IMSG_MOUSEMOVE :
|
|
// {
|
|
// pGameMsg->bUse = true;
|
|
// SIMSG_MOUSEMOVE* pMsg = static_cast<SIMSG_MOUSEMOVE*>(pGameMsg);
|
|
// if( m_nGameState != STATE_SELECT ) return;
|
|
//
|
|
// KMsgREQ_INTERLINE camera_msg( (KViewportObject*)m_pViewPort, GET_X_LPARAM(pMsg->lParam) , GET_Y_LPARAM(pMsg->lParam) );
|
|
// if( m_pModelBG->Perform( id_REQ_INTERSECTIONLINE, camera_msg ) )
|
|
// {
|
|
// for(int i(0); CHARACTER_NUMBER>i; i++)
|
|
// {
|
|
// if( m_pSeqAvatar[i]->GetBoundCube()->CheckCollision( camera_msg.vNear, camera_msg.vFar ) )
|
|
// {
|
|
// if( m_nCurMouseSelect != i ) //전꺼와 같지 않으며
|
|
// {
|
|
// if( m_nCurMouseSelect != -1 ) //선택 된게 있었으면.
|
|
// m_nOldMouseSelect = m_nCurMouseSelect;
|
|
//
|
|
// if( i != m_nCurSelect )
|
|
// {
|
|
// m_nCurMouseSelect = i;
|
|
// MouseCursorOver();
|
|
// }
|
|
// }
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IMSG_LBUTTONUP : //캐릭터 선택
|
|
// {
|
|
// pGameMsg->bUse = true;
|
|
// SIMSG_LBUTTONUP* pMsg = static_cast<SIMSG_LBUTTONUP*>(pGameMsg);
|
|
//
|
|
// if( m_nGameState != STATE_SELECT ) return;
|
|
//
|
|
// KMsgREQ_INTERLINE camera_msg( (KViewportObject*)m_pViewPort, GET_X_LPARAM(pMsg->lParam) , GET_Y_LPARAM(pMsg->lParam) );
|
|
// if( m_pModelBG->Perform( id_REQ_INTERSECTIONLINE, camera_msg ) )
|
|
// {
|
|
// for(int i(0); CHARACTER_NUMBER>i; i++)
|
|
// {
|
|
// if( m_nCurSelect != i && m_pSeqAvatar[i]->GetBoundCube()->CheckCollision( camera_msg.vNear, camera_msg.vFar ) )
|
|
// {
|
|
// if( m_nCurSelect != -1 )
|
|
// m_nOldSelect = m_nCurSelect;
|
|
// m_nCurMouseSelect = -1;
|
|
// m_nOldMouseSelect = -1;
|
|
// m_nCurSelect = i;
|
|
// MouseSelect();
|
|
// StartSound( "select.wav", K3DVector(0,0,0) );
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// case IMSG_LBUTTONDBLCLK : //선택된 캐릭터 로그인
|
|
// {
|
|
// pGameMsg->bUse = true;
|
|
// SIMSG_LBUTTONDBLCLK* pMsg = static_cast<SIMSG_LBUTTONDBLCLK*>(pGameMsg);
|
|
//
|
|
// if( m_nGameState != STATE_SELECT ) return;
|
|
//
|
|
// KMsgREQ_INTERLINE camera_msg( (KViewportObject*)m_pViewPort, GET_X_LPARAM(pMsg->lParam) , GET_Y_LPARAM(pMsg->lParam) );
|
|
// if( m_pModelBG->Perform( id_REQ_INTERSECTIONLINE, camera_msg ) )
|
|
// {
|
|
// for(int i(0); CHARACTER_NUMBER>i; i++)
|
|
// {
|
|
// if( m_nCurSelect == i && m_pSeqAvatar[i]->GetBoundCube()->CheckCollision( camera_msg.vNear, camera_msg.vFar ) )
|
|
// {
|
|
// Accept();
|
|
// m_nGameState = STATE_LOGIN_WAIT;
|
|
// break;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// break;
|
|
// case MSG_ENTER :
|
|
// {
|
|
// int a = 1;
|
|
// a = 2;
|
|
// }
|
|
// break;
|
|
// case MSG_ITEM_WEAR :
|
|
// {
|
|
// int a = 1;
|
|
// a = 2;
|
|
// }
|
|
// break;
|
|
// case MSG_ITEM_INVEN :
|
|
// {
|
|
// int a = 1;
|
|
// a = 2;
|
|
// }
|
|
// break;
|
|
// }
|
|
//}
|
|
////Login의 결과다~
|
|
////뭔가 연출을 보여 주고, 다음 Game으로 처리를 넘긴다.
|
|
////void SGameSelect::onMsgLogin( TS_LOGIN_RESULT * pMsg )
|
|
////{
|
|
////
|
|
////}
|