BsGpuProgIncludeImporter.cpp 1.0 KB

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