//! //! bool CResManager::Request( const char * szFile, TResource ** ppOutResource ) { // FixMe: TEST FOR PRIMARY THREAD!!! uint nResGUID = Demand( szFile, ppOutResource, ERP_HIGH ); if ( INVALID_INDEX != nResGUID ) { while ( true ) { TResource::EResState eState = GetResState( nResGUID ); if ( TResource::FAILED == eState ) return false; Update(); // FixMe: MUST CALL FROM PRIMARY THREAD!!! Sleep( 0 ); if ( ( TResource::READY_TO_USE == eState ) || ( TResource::LOADED == eState ) ) return true; } } return false; }
operator T() { Demand(); return Func; }