示例#1
0
unsigned char* PackageManager::getFileText(const char* fileName, unsigned long* dataSize)
{
	if (m_currentPackage && m_currentPackage->fileExist(fileName)) {
		unsigned char* buffer = m_currentPackage->getFileText(fileName, dataSize);
		if (buffer) {
			return buffer;
		}
	}

	for (std::vector<Package*>::iterator itr = m_allPackages.begin(); itr != m_allPackages.end(); ++itr) {
		Package* package = *itr;
		if (!package) {
			continue;
		}
        
		if (!package->fileExist(fileName)) {
			continue;
		}
        
		unsigned char* buffer = package->getFileText(fileName, dataSize);
		if (buffer) {
			return buffer;
		}
	}
    
	return NULL;
}