BsGpuProgIncludeImporter.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "BsGpuProgIncludeImporter.h"
  2. #include "BsGpuProgInclude.h"
  3. #include "BsPath.h"
  4. #include "BsDataStream.h"
  5. #include "BsFileSystem.h"
  6. namespace BansheeEngine
  7. {
  8. GpuProgIncludeImporter::GpuProgIncludeImporter()
  9. :SpecificImporter()
  10. {
  11. }
  12. GpuProgIncludeImporter::~GpuProgIncludeImporter()
  13. {
  14. }
  15. bool GpuProgIncludeImporter::isExtensionSupported(const WString& ext) const
  16. {
  17. WString lowerCaseExt = ext;
  18. StringUtil::toLowerCase(lowerCaseExt);
  19. return lowerCaseExt == L"gpuproginc";
  20. }
  21. bool GpuProgIncludeImporter::isMagicNumberSupported(const UINT8* magicNumPtr, UINT32 numBytes) const
  22. {
  23. return true; // Plain-text so I don't even check for magic number
  24. }
  25. ResourcePtr GpuProgIncludeImporter::import(const Path& filePath, ConstImportOptionsPtr importOptions)
  26. {
  27. DataStreamPtr stream = FileSystem::openFile(filePath);
  28. String includeString = stream->getAsString();
  29. GpuProgIncludePtr gpuInclude = GpuProgInclude::_createPtr(includeString);
  30. WString fileName = filePath.getWFilename(false);
  31. gpuInclude->setName(toString(fileName));
  32. return gpuInclude;
  33. }
  34. }