示例#1
0
void CPlayer::Init(unsigned int nUserUID, unsigned int nSessionID )
{
	m_nSessionID = nSessionID ;
	m_nUserUID = nUserUID ;
	m_eSate = ePlayerState_Online ;
	m_pTimerSave = NULL ;
	m_nDisconnectTime = 0 ;
	/// new components ;here ;
	m_vAllComponents[ePlayerComponent_BaseData] = new CPlayerBaseData(this) ;
	m_vAllComponents[ePlayerComponent_Mail] = new CPlayerMailComponent(this);
	//m_vAllComponents[ePlayerComponent_PlayerItemMgr] = new CPlayerItemComponent(this);
	m_vAllComponents[ePlayerComponent_PlayerMission] = new CPlayerMission(this);
	//m_vAllComponents[ePlayerComponent_PlayerShop] = new CPlayerShop(this);
	m_nTaxasRoomID = 0 ;
	for ( int i = ePlayerComponent_None; i < ePlayerComponent_Max ; ++i )
	{
		IPlayerComponent* p = m_vAllComponents[i] ;
		if ( p )
		{
			p->Init();
		}
	}

	if ( m_pTimerSave == NULL )
	{
		m_pTimerSave = CGameServerApp::SharedGameServerApp()->GetTimerMgr()->AddTimer(this,cc_selector_timer(CPlayer::OnTimerSave)) ;
		m_pTimerSave->SetDelayTime( TIME_SAVE * 0.5 ) ;
		m_pTimerSave->SetInterval(TIME_SAVE) ;
		m_pTimerSave->Start();
	}
}
示例#2
0
void CRoomBase::Init( unsigned int nRoomID , unsigned char nMaxSeat )
{
	assert(m_eRoomType !=eRoom_Max && "Please assign m_eRoomtype" ) ;
	m_nRoomID = nRoomID ;
	m_nMaxSeat = nMaxSeat ;
	m_eRoomState = eRoomState_WaitPeerToJoin ;
	m_vRoomPeer = new CRoomPeer*[nMaxSeat];
	for ( int i = 0 ; i < nMaxSeat ; ++i )
	{
		m_vRoomPeer[i] = NULL ;
	}
	CGameServerApp::SharedGameServerApp()->GetTimerMgr()->AddTimer(this,cc_selector_timer(CRoomBase::Update));
	SetEnableUpdate(true) ;
}