Example #1
0
//!
//!
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;
}
Example #2
0
	operator T()
	{
		Demand();
		return Func;
	}