void Omnijar::Init(nsIFile* aGrePath, nsIFile* aAppPath) { InitOne(aGrePath, GRE); InitOne(aAppPath, APP); sInitialized = true; }
VOID SceneTimer::FreeTimer(INT index) { if( index <0 || index >= maxCount ) { #ifdef _DEBUG CHAR szTemp[MAX_FILE_PATH]; sprintf(szTemp,"index = %d",index); AssertEx(FALSE,szTemp) ; #endif return ; } InitOne(index);//释放时初始化 MyTimer* temp = (MyTimer*)&(m_pTimers[index]); *((MyTimer**)temp) = head; head = temp; #if _DEBUG m_currentUse--; #endif }
VOID SceneTimer::CleanUp( ) { for(INT i=0;i<maxCount;i++) InitOne(i); UINT Now = g_pTimeManager->CurrentTime() ; mRefeshTimer.BeginTimer(1000,Now); }
void ExpI( TYPE typ, ftn_type *base, intstar4 exponent ) { //=========================================================== bool odd; ftn_type result; if( ZeroBase( typ, base ) ) { if( exponent <= 0 ) { Error( EX_Z_2_NOT_POS ); } } else if( exponent == 0 ) { InitOne( typ, base ); } else { InitOne( typ, &result ); if( exponent < 0 ) { // base == 1 / base Div[ typ - FT_INTEGER_1 ]( &result, base ); *base = result; InitOne( typ, &result ); exponent = -exponent; } if( ( exponent & 1 ) != 0 ) { result = *base; } exponent /= 2; while( exponent != 0 ) { for(;;) { Mul[ typ - FT_INTEGER_1 ]( base, base ); odd = ( ( exponent & 1 ) != 0 ); exponent /= 2; if( odd ) break; } Mul[ typ - FT_INTEGER_1 ]( &result, base ); } *base = result; } }
//场景时初始化所有的计时器 VOID SceneTimer::CreateTimer(INT maxCount,Scene* pScene) { this->maxCount = maxCount; SAFE_DELETE_ARRAY(m_pTimers); m_pTimers = new MyTimer[maxCount]; for(INT i=0;i<maxCount;i++) InitOne(i); UINT Now = g_pTimeManager->CurrentTime() ; mRefeshTimer.BeginTimer(1000,Now); m_pScene = pScene; }