549 lines
16 KiB
C++
549 lines
16 KiB
C++
|
||
#pragma once
|
||
|
||
#include <map>
|
||
#include "SGame.h"
|
||
#include <toolkit/XBossWorker.h>
|
||
#include "SNetMessageBill.h"
|
||
#include "KRenderObjectEtc.h"
|
||
|
||
#include "SGameLobbyDefine.h"
|
||
#include "KSmartPtr.h"
|
||
|
||
#include "SGameSceneManager.h"
|
||
#include "SGameSceneSeqPlayer.h"
|
||
|
||
#include <kfile/TrfMetaData.h>
|
||
//#include "Util.h"
|
||
|
||
#include <cipher/XCryptoPublicKey.h>
|
||
|
||
|
||
// cipher
|
||
#ifdef _WIN64
|
||
#ifdef _DEBUG
|
||
#pragma comment( lib, "cipherd_x64.lib" )
|
||
#else
|
||
#pragma comment( lib, "cipher_x64.lib" )
|
||
#endif
|
||
#else
|
||
#ifdef _DEBUG
|
||
#pragma comment( lib, "cipherd.lib" )
|
||
#else
|
||
#pragma comment( lib, "cipher.lib" )
|
||
#endif
|
||
#endif
|
||
|
||
|
||
class KSeqForm;
|
||
class KSeqModel;
|
||
class KSeqAvatar;
|
||
class SAvatarSelector;
|
||
class SGameViewPort;
|
||
|
||
#define _TERRAIN_ENABLE_
|
||
|
||
enum
|
||
{
|
||
LOBBY_INIT,
|
||
LOBBY_LOGIN,
|
||
|
||
LOBBY_SELECT,
|
||
LOBBY_DEVA, ///< GCLAN_DEVA,
|
||
LOBBY_GAIA, ///< GCLAN_GAIA,
|
||
LOBBY_ASURA, ///< GCLAN_ASURA,
|
||
|
||
LOBBY_MAX,
|
||
};
|
||
|
||
enum
|
||
{
|
||
ACCOUNT_AUTH_NORMAL,
|
||
ACCOUNT_AUTH_IMBC,
|
||
ACCOUNT_AUTH_OTP,
|
||
ACCOUNT_AUTH_SID,
|
||
};
|
||
|
||
struct EPOINT_NX3_INITSTRUCT
|
||
{
|
||
const char* szEvPoint;
|
||
const char* szCOBFileName;
|
||
};
|
||
|
||
struct EPOINT_NX3
|
||
{
|
||
std::string strCube;
|
||
std::string strProp;
|
||
};
|
||
|
||
const int c_nAsuraNX3EffectMaxPos = 13;
|
||
|
||
|
||
class SGameRenewalLobby : public SGame
|
||
{
|
||
public:
|
||
SGameRenewalLobby
|
||
( SGameManager* pGameMng
|
||
, K3DRenderDeviceDX* pRenderDevice
|
||
, SSoundManager* pSoundMng
|
||
, KTextureManager* pTextureMng
|
||
, KNX3Manager* pNX3Mng
|
||
, SGameMilesSoundMgr* pMSoundMgr );
|
||
virtual ~SGameRenewalLobby();
|
||
|
||
void SetAvatarSelectStart();
|
||
|
||
void SetViewPort( SGameViewPort* pViewPort );
|
||
|
||
bool Render( unsigned long uRenderBitVector, class KViewportObject** ppViewPortList, int nViewportCount );
|
||
bool Process( DWORD time, unsigned long uProcessBitVector=0 );
|
||
|
||
void ProcMsgAtStatic( SGameMessage * pGameMsg );
|
||
void OnMsgResult( SGameMessage* pGameMsg );
|
||
void OnMsgResultWithString(SGameMessage* pGameMsg); /// 2011.05.20 - prodongi
|
||
|
||
void ProcConsole( struct SGameMessage* pGameMsg );
|
||
|
||
void Lobby_Fog_Enable( bool bEnable )
|
||
{
|
||
m_bLobbyFogEnable = bEnable;
|
||
if( m_bLobbyFogEnable )
|
||
m_dwFogMode = K3DRenderDevice::FOGM_LINEAR | K3DRenderDevice::FOGM_HEIGHT;
|
||
else
|
||
m_dwFogMode = K3DRenderDevice::FOGM_NONE;
|
||
}
|
||
void Lobby_Fog_Color( int nR, int nG, int nB, int nA )
|
||
{
|
||
m_colorLobbyFog = KColor( unsigned char(nR), unsigned char(nG), unsigned char(nB), unsigned char(nA) );
|
||
}
|
||
void Lobby_Fog_Dist( float fNear, float fFar )
|
||
{
|
||
m_fLinearFog_Start = fNear;
|
||
m_fLinearFog_End = fFar;
|
||
}
|
||
void Lobby_Fog_Height_Dist( float fNear, float fFar )
|
||
{
|
||
m_fHeightFog_Start = fNear;
|
||
m_fHeightFog_End = fFar;
|
||
}
|
||
void SetPauseJTVLogo(bool PauseJTVLogo) { m_PauseJTVLogo = PauseJTVLogo; }
|
||
|
||
|
||
virtual void Game_Light ( int type, K3DColor col );
|
||
virtual void Game_Light_Pos ( int nX, int nY, int nZ );
|
||
|
||
virtual void Game_Sky_Color_Start( int nR, int nG, int nB );
|
||
virtual void Game_Sky_Color_Mid ( int nR, int nG, int nB );
|
||
virtual void Game_Sky_Color_End ( int nR, int nG, int nB );
|
||
virtual void Game_Sky_Color_MaxHeight( float fMaxHeight );
|
||
virtual void Game_Sky_Color_MidHeightPercent( float fMidHeightPercent );
|
||
virtual void Game_Sky_Color_MinHeight( float fMinHeight );
|
||
|
||
virtual void Bot_Accept( int nSelect, const char * pName );
|
||
|
||
// _LOBBY 임시...
|
||
// int GetTerrainArrayCount( int nIndex );
|
||
// _LOBBY 임시...
|
||
void LoadTxtProp( const char * pFileName, std::vector< EPOINT_NX3 > & vList );
|
||
|
||
// Function to be called from SUICreateCharSecondDlg
|
||
void VerifyCustomizeAvatarHair(SGameMessage* pGameMsg);
|
||
|
||
private:
|
||
|
||
void LoadModelFiles();
|
||
void RemoveModelFiles();
|
||
|
||
void SetCurState( _LOGIN_STATE state );
|
||
_LOGIN_STATE GetCurState() { return m_CurrentState; }
|
||
|
||
void ProcessAvatars( DWORD dwTime );
|
||
|
||
/// 개발자 로긴 모드
|
||
void SetToDevelopersLoginState();
|
||
/// 인증 서버에 로긴 결과 대기
|
||
void SetToWaitingAuth();
|
||
void SetToIntroState(bool bPlayIntromove = false);
|
||
void SetToPrepareLoginState();
|
||
void SetToLoginState();
|
||
void SetToLoginStateOff();
|
||
void SetToPrepareServerSelectState();
|
||
void SetToServerSelectState();
|
||
void SetToServerSelectStateOn();
|
||
void SetToCreateCharSuccess();
|
||
void SetToPrepareCharSelectState( bool bReqCharList );
|
||
void SetToCharSelectState( int nSelectIndex );
|
||
// void SetToPrepareCreateCharState();
|
||
void SetToCostomizing();
|
||
void SetToCreateCharState();
|
||
// void SetToCreateCharStateSecond();
|
||
void SetToRaceSelectState();
|
||
/// sonador 10.5.1 크레딧 화면 구현
|
||
void SetToCreditsState();
|
||
void SetToCredits2State();
|
||
void removeSceneInactivate(rp::SGameSceneIPtr& creditsScene);
|
||
void SetToCredits3State();
|
||
void SetToCredits4State();
|
||
/// 2011.12.14 공통 함수 생성함 - prodongi
|
||
void SetToCreditsState(_LOGIN_STATE state, rp::SGameSceneIPtr& creditsScene, char const* filmFileFormat, int filmCount);
|
||
void _LoadLobbyRaceNX3Data( KSeqForm*& pObj, KMsgREQ_EVBOX& rEventBox, const char* lpFileName, bool bOutEvent=true );
|
||
void _LoadLobbyNX3Prop();
|
||
void InitCreateSeenAvatar();
|
||
void InitCamera();
|
||
// void InitQJTV( class SGameQJTV*& pQJTV, const char* lpFile, bool bUseAlpha );
|
||
void InitQJTVs();
|
||
void InitAvatar( SAvatarSelector* pSelectAvatar, const K3DVector& vAvatarPos );
|
||
void GetEventPos( KMsgREQ_EVBOX& Event, K3DVector& vAvatarPos );
|
||
void GetRaceEventPos(int nRace, K3DVector& vAvatarPos);
|
||
|
||
void InitCostomizingAvatar( int nRace, int nSex, SAvatarSelector* pSelectAvatar );
|
||
void InitCostomizingAvatars( int nRace );
|
||
void SendCustomizingMsgToWnd( SAvatarSelector* pSelectAvatar );
|
||
|
||
void SetToBackToCharSelectState();
|
||
void SetToBackToServerSelectState();
|
||
void SetToLogOut();
|
||
bool IsCameraZooming( int nRace, int nCameraIndex = -1 );
|
||
void CustomingAvatar( SAvatarSelector* pSelectAvatar, int PartsID, struct SIMSG_UIWND_NOTIFY_TO_LOBBY* pBtnClickMsg );
|
||
void UpdatePendingTime( AR_TIME arTime );
|
||
void GetPendingTimeString( DWORD dwServerWaitTime, std::string& strMsg );
|
||
|
||
void SetEvPoint( KEventPointSeq * pPoint );
|
||
|
||
int GetAvatarIndex( const KPoint& rMousePos ) const;
|
||
const char* GetRaceOptionFile( int nRace );
|
||
|
||
void ChangeQJTV( int nRace );
|
||
KSeqObject* GetCrrRaceProp( int nRace );
|
||
KSeqForm* GetRaceCamera( int nRace );
|
||
KSeqForm* GetRaceNX3obj( int nRace );
|
||
//void MainLogoProc( int dwTime );
|
||
void ProcessRaceBackGround_N_Avatar( int nRace, class SAvatarSelector* pSelectAvatar, KSeqModel* pEffect=NULL );
|
||
// Render background and character based on race
|
||
void RenderRaceBackGround_N_Avatar( KViewportObject* viewport, KViewportObject* ChildViewport, int nRace, SAvatarSelector* pAvatar, KSeqModel* pEffect=NULL );
|
||
void RenderAsuraFireEffect( KViewportObject* viewport );
|
||
|
||
SAvatarSelector* GetCrrCustomizingAvatar();
|
||
void LoginAccount( const char* szAccount, __int64 & one_time_key );
|
||
|
||
void RotationAvatar_Z( SAvatarSelector* pAvatar, bool bRatateL );
|
||
|
||
void AvatarSelect( int nSelectIndex = (-1) );
|
||
void CreateNewAvatar( const char* szName );
|
||
void DeleteAvatar( const char* szName, const char* szSecurityNo );
|
||
void RequestCharacterList();
|
||
void GameStart( const char* szName, int nRace );
|
||
void CharacterLogin( const char* szName, int nRace );
|
||
void RefreshCharNameWindow();
|
||
|
||
/// sonador 10.5.1 크레딧 화면 구현
|
||
void PlayRaceSound( int nRace, bool bMusic=true, bool bForce=false, int nSwapTime=100 );
|
||
void PlayRaceCamera( int nRace, int nCameraIndex, int nAniType=SEQTYPE_NORMAL, float fPlayRate=4.8000f );
|
||
|
||
void AuthPendMessage( const TS_MESSAGE * pMessage );
|
||
|
||
void _gotoAccount();
|
||
|
||
void CheckCamera( KSeqForm * pCamera );
|
||
|
||
_LOGIN_STATE m_CurrentState; // Current State
|
||
_LOGIN_STATE m_BeforeCharListState; // Pre–Character List State
|
||
|
||
struct XSyncStreamConnection* m_pAuthConn; ///< 네트웍
|
||
struct IQueue* m_pRecvQueue;
|
||
|
||
KSeqModel * m_pBlackPanel;
|
||
DWORD m_dwBlackPanelTime;
|
||
|
||
int m_nAuthType;
|
||
XCryptoPublicKey m_Crypto;
|
||
std::string m_strAccount;
|
||
int m_nCharacterCount;
|
||
int m_nSelectedCharIndex;
|
||
|
||
std::string m_SelectServer_IP;
|
||
int m_SelectServer_PORT;
|
||
std::string m_strTempPass;
|
||
bool m_bIsCan_ReqServerList; ///< 서버 리스트 요청 가능.
|
||
|
||
DWORD m_dwServerWaitStartTime; ///< 서버 대기 시작 시간
|
||
DWORD m_dwServerWaitTime; ///< 서버 엔터 대기 시간
|
||
__int64 m_one_time_key; // If a waiting time is received, temporarily store the authentication key
|
||
DWORD m_dwMsgSendTime; ///< 메세지 보낸 시간
|
||
bool m_bIsAgree; ///< 약관동의
|
||
|
||
//공지 사항
|
||
XBossWorker m_ThreadManager; ///< 스레드 처리 관리자
|
||
class CLobbyNoticeReceiver* m_pNoticeReceiver; ///< 공지사항 얻기
|
||
|
||
bool m_bUseCharacterSelect; ///< 아바타 선택 모드 바로 사용
|
||
|
||
//연출
|
||
// class K3DBoundRotCube* m_pAvatarSelectCubes[ c_nMaxAvatarCount ];
|
||
|
||
SAvatarSelector* m_pNewAvatar; // Selected avatar model
|
||
|
||
unsigned short m_nNewCameraIndex; // Creation of camera index
|
||
|
||
class K3DBoundRotCube* m_pManCube;
|
||
class K3DBoundRotCube* m_pWomanCube;
|
||
|
||
bool m_bLobbyFogEnable;
|
||
KColor m_colorLobbyFog;
|
||
|
||
bool m_bRatateL;
|
||
bool m_bRatateR;
|
||
|
||
struct K3DLight * m_pMainLight; ///< 기본 라이트
|
||
|
||
DWORD m_dwFogMode;
|
||
|
||
//Height Fog
|
||
float m_fHeightFog_Start;
|
||
float m_fHeightFog_End;
|
||
float m_fLinearFog_Start;
|
||
float m_fLinearFog_End;
|
||
|
||
bool m_bLightProcess; ///< 라이트 변경
|
||
DWORD m_dwLightStartTime; ///< 라이트 시작 시간
|
||
K3DVector m_old_pos;
|
||
K3DVector m_new_pos;
|
||
|
||
//
|
||
int m_nSelectChrRace; // Race in creation
|
||
int m_nSelectCustomRace; // The race which is being customized
|
||
int m_nSelectRaceBGM; ///< 플레이중인 종족 배경음악
|
||
int m_nSelectRaceEffectSound; ///< 플레이중인 종족 이펙트싸운드
|
||
int m_nSelectSex; // Selected sex (gender)
|
||
std::string m_strNewCharName; // Name of newly created character
|
||
|
||
//Sky Color
|
||
K3DColor m_Sky_Color_Start;
|
||
K3DColor m_Sky_Color_Mid;
|
||
K3DColor m_Sky_Color_End;
|
||
|
||
float m_fSkyColorMaxHeight;
|
||
float m_fSkyColorMinHeight;
|
||
float m_fSkyMidHeightPercent;
|
||
|
||
void Terrain_Fog_Enable( bool bEnable )
|
||
{
|
||
m_bTerrainFogEnable = bEnable;
|
||
if( m_bTerrainFogEnable )
|
||
m_dwTerrainFogMode = K3DRenderDevice::FOGM_LINEAR | K3DRenderDevice::FOGM_HEIGHT;
|
||
else
|
||
m_dwTerrainFogMode = K3DRenderDevice::FOGM_NONE;
|
||
}
|
||
void Terrain_Fog_Color( int nR, int nG, int nB, int nA )
|
||
{
|
||
m_colorTerrainFog = KColor( unsigned char(nR), unsigned char(nG), unsigned char(nB), unsigned char(nA) );
|
||
}
|
||
void Terrain_Fog_Dist( float fNear, float fFar )
|
||
{
|
||
m_fTerrainLinearFog_Start = fNear;
|
||
m_fTerrainLinearFog_End = fFar;
|
||
}
|
||
void Terrain_Fog_Height_Dist( float fNear, float fFar )
|
||
{
|
||
m_fTerrainHeightFog_Start = fNear;
|
||
m_fTerrainHeightFog_End = fFar;
|
||
}
|
||
|
||
void Terrain_Light ( int type, K3DColor col );
|
||
void Terrain_Light_Pos ( int nX, int nY, int nZ );
|
||
|
||
void _GameLightInforGameRes( const char * pFileName, K3DLight* pLight );
|
||
void LobbySetforGameRes( const char * pFileName );
|
||
void _MainCameraInforGameRes( const char * pFileName );
|
||
void _LightInforGameRes( const char * pFileName, K3DLight* pLight );
|
||
void _SkyInforGameRes( const char * pFileName );
|
||
|
||
void _LightInLoad( char *pBuf, K3DLight* pLight );
|
||
void _LobbySetLoad( char *pBuf, K3DLight* pLight );
|
||
void _LobbySetLoadforGameRes( char *pBuf, K3DLight* pLight );
|
||
void _TerrainSkyInLoad( char *pBuf );
|
||
|
||
// void _LobbyWarp( int nX, int nY, bool bUseCheat = false );
|
||
|
||
//치트용 FILE
|
||
void LobbySet( const char * pFileName );
|
||
void _TerrainCameraIn( const char * pFileName );
|
||
void _LightIn( const char * pFileName, K3DLight* pLight );
|
||
void _TerrainSkyIn( const char * pFileName );
|
||
|
||
// 2011.10.07 Sends account information with added MAC address info
|
||
void sendAccountWithMacAddress(TS_CA_ACCOUNT& msg_account);
|
||
void sendAccountWithAddInfo(TS_CA_ACCOUNT& msg_account, int type, unsigned char* addData);
|
||
|
||
/// 2011.10.07 계정 정보에 아이오베이션 정보를 추가해서 보낸다
|
||
void sendAccountWithIovation(TS_CA_ACCOUNT& msg_account);
|
||
|
||
//업데이트
|
||
POINT m_ptOldPoint;
|
||
float m_fDeltaX;
|
||
float m_fDeltaY;
|
||
|
||
class KViewportObject* m_pChildViewPort[1]; ///< 배경판과 스카이박스 랜더관련
|
||
K3DCamera* m_pBGCamera;
|
||
|
||
struct K3DLight * m_pBGLight; ///< 배경 라이트
|
||
|
||
class SGameSky* m_pSky;
|
||
|
||
//포그
|
||
bool m_bTerrainFogEnable;
|
||
KColor m_colorTerrainFog;
|
||
|
||
DWORD m_dwTerrainFogMode;
|
||
|
||
//Height Fog
|
||
float m_fTerrainHeightFog_Start;
|
||
float m_fTerrainHeightFog_End;
|
||
float m_fTerrainLinearFog_Start;
|
||
float m_fTerrainLinearFog_End;
|
||
|
||
std::string m_strCurLobbySet;
|
||
|
||
//KSeqModel* m_pMainLogo;
|
||
//K3DTextureSPtr m_spLogoTexture;
|
||
|
||
//class QJTVObj* m_pQJTVObj;
|
||
//int m_nCurFrame;
|
||
trf::MetaData m_meta;
|
||
//bool m_bInitLogo;
|
||
|
||
//DWORD m_dwRefreshTime;
|
||
//bool m_bLogoPlay;
|
||
//int m_nQJTV_Width;
|
||
//int m_nQJTV_Height;
|
||
bool m_PauseJTVLogo;
|
||
//bool m_bIncrease;
|
||
|
||
//void _InitJTVLogo();
|
||
//void _RefreshJTVLogo();
|
||
|
||
void _PerformMainLogo();
|
||
|
||
std::vector<std::string> m_vStrServerURL;
|
||
std::string m_strCrrBGM;
|
||
|
||
//BackGround Sprite
|
||
//KSpritePrimitive m_SpritePrimitive;
|
||
//KResSpriteSPtr m_spResSprite;
|
||
//K3DTextureSPtr m_spBGTexture;
|
||
|
||
//Blend Sprite
|
||
K3DRenderTargetSPtr m_spBlendSource;
|
||
|
||
KSpritePrimitive m_BlendSpritePrimitive;
|
||
KResSpriteSPtr m_spBlendResSprite;
|
||
DWORD m_dwBlendStartTime;
|
||
|
||
//QJTVObj* m_pBG_QJTVObj;
|
||
|
||
//DWORD m_dwBGRefreshTime;
|
||
//int m_nBGCurFrame;
|
||
|
||
//bool m_bInitBG;
|
||
//bool m_bTypePlay;
|
||
//bool m_bLoopMode;
|
||
|
||
|
||
|
||
LOBBY_AVATAR m_Avatars[ GameRule::nMaxCharactersPerAccount ]; ///< 아바타 모델들
|
||
|
||
// Character creation related part
|
||
SAvatarSelector* m_pDevaManAvatar; // Deva male
|
||
SAvatarSelector* m_pDevaWomanAvatar; // Deva female
|
||
|
||
SAvatarSelector* m_pGaiaManAvatar; // Gaia male
|
||
SAvatarSelector* m_pGaiaWomanAvatar; // Gaia female
|
||
|
||
SAvatarSelector* m_pAsuraManAvatar; // Asura male
|
||
SAvatarSelector* m_pAsuraWomanAvatar; // Asura female
|
||
|
||
KSeqModel* m_pCreateSuccessEffect;
|
||
|
||
K3DVector m_DevaEventpos;
|
||
K3DVector m_AsuraEventpos;
|
||
K3DVector m_GaiaEventpos;
|
||
|
||
KSeqForm* m_pDevaNX3Prop;
|
||
KSeqForm* m_pAsuraNX3Prop;
|
||
KSeqForm* m_pGaiaNX3Prop;
|
||
|
||
KSeqForm* m_pAsuraNX3DffectProp[c_nAsuraNX3EffectMaxPos];
|
||
|
||
bool m_bShowBG;
|
||
// class SGameQJTV* m_pWaitBG_QJTV;
|
||
|
||
class SGameMultiQJTV* m_pMuitiQJTV;
|
||
|
||
class SGameQJTV* m_pDevaBG_QJTV;
|
||
class SGameQJTV* m_pAsuraBG_QJTV;
|
||
class SGameQJTV* m_pGaiaBG_QJTV;
|
||
|
||
KSeqForm* m_pAsuraCamera;
|
||
KSeqForm* m_pGaiaCamera;
|
||
KSeqForm* m_pDevaCamera;
|
||
|
||
int m_nOldMipBias;
|
||
int m_nOldResourceQual;
|
||
DWORD m_dwStartCharSelectListWaitTime;
|
||
int m_nAppointmentCharSelectIndex;
|
||
bool m_bCreateCharSuccess;
|
||
|
||
bool m_bCreating;
|
||
|
||
void _InitBG( int nIndex );
|
||
void _RefreshBG();
|
||
|
||
rp::SGameScene *LoadMovie(rp::SGameSceneSeqPlayer* pScenePlayer, const char *scenename,
|
||
const char *filename, const char *bgmname, const char *drawmode);
|
||
|
||
rp::SGameSceneManager* m_pSceneMgr; ///< sonador 10.5.1 크레딧 화면 구현
|
||
rp::SGameSceneIPtr m_BgScene;
|
||
rp::SGameSceneManager* m_pCharaterBgSceneMgr;
|
||
rp::SGameSceneIPtr m_Bg_Deva;
|
||
rp::SGameSceneIPtr m_Bg_Asura;
|
||
rp::SGameSceneIPtr m_Bg_Gaia;
|
||
rp::SGameSceneIPtr m_BgScene_ClanSelect;
|
||
rp::SGameSceneIPtr m_BgScene_ClanSelect_Asura;
|
||
rp::SGameSceneIPtr m_BgScene_ClanSelect_Deva;
|
||
rp::SGameSceneIPtr m_BgScene_ClanSelect_Gaia;
|
||
rp::SGameSceneIPtr m_BgScene_ClanDesc_Asura;
|
||
rp::SGameSceneIPtr m_BgScene_ClanDesc_Deva;
|
||
rp::SGameSceneIPtr m_BgScene_ClanDesc_Gaia;
|
||
rp::SGameSceneIPtr m_BgScene_Pane_Type02;
|
||
//rp::SGameSceneIPtr m_BgScene_Pane_Type02_2;
|
||
rp::SGameSceneIPtr m_BgScene_Pane_Type03;
|
||
rp::SGameSceneIPtr m_BgScene_Pane_Type03_right;
|
||
|
||
bool m_ClanSelect_Asura_RollOver;
|
||
bool m_ClanSelect_Deva_RollOver;
|
||
bool m_ClanSelect_Gaia_RollOver;
|
||
|
||
rp::SGameSceneIPtr m_IntroScene;
|
||
rp::SGameSceneIPtr m_IntroScene_Navislamia;
|
||
rp::SGameSceneIPtr m_IntroScene_GoldenMonarch;
|
||
rp::SGameSceneIPtr m_CreditsScene; //
|
||
rp::SGameSceneIPtr m_CreditsScene2; //
|
||
rp::SGameSceneIPtr m_CreditsScene3; /// 2011.12.14 - prodongi
|
||
rp::SGameSceneIPtr m_CreditsScene4; /// 2011.12.14 - prodongi
|
||
|
||
void ChangeCharacterBG( int nRace );
|
||
|
||
|
||
int m_vStrServerURLIndex;
|
||
|
||
//void SetToCreditsEpic6Prologue();
|
||
//rp::SGameSceneIPtr m_CreditsSceneEpic6Prologue; //
|
||
bool m_TryConnectAuthServer;
|
||
bool m_DisconnectAuthServer;
|
||
|
||
int m_invalidPasswordCount; // 로그인 실패 에러 카운트
|
||
|
||
/// 2012.04.03 - prodongi
|
||
sPasswordCount<> m_passwordCount;
|
||
};
|