MaterialImporter.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include <Atomic/IO/File.h>
  2. #include <Atomic/Resource/ResourceCache.h>
  3. #include <Atomic/Graphics/Material.h>
  4. #include "Asset.h"
  5. #include "AssetDatabase.h"
  6. #include "MaterialImporter.h"
  7. namespace ToolCore
  8. {
  9. MaterialImporter::MaterialImporter(Context* context, Asset* asset) : AssetImporter(context, asset)
  10. {
  11. requiresCacheFile_ = false;
  12. }
  13. MaterialImporter::~MaterialImporter()
  14. {
  15. }
  16. void MaterialImporter::SetDefaults()
  17. {
  18. AssetImporter::SetDefaults();
  19. }
  20. bool MaterialImporter::Import()
  21. {
  22. return true;
  23. }
  24. void MaterialImporter::SaveMaterial()
  25. {
  26. ResourceCache* cache = GetSubsystem<ResourceCache>();
  27. Material* material = cache->GetResource<Material>(asset_->GetPath());
  28. if (material)
  29. {
  30. SharedPtr<File> file(new File(context_, asset_->GetPath(), FILE_WRITE));
  31. material->Save(*file);
  32. }
  33. }
  34. bool MaterialImporter::LoadSettingsInternal()
  35. {
  36. if (!AssetImporter::LoadSettingsInternal())
  37. return false;
  38. JSONValue import = jsonRoot_.GetChild("MaterialImporter", JSON_OBJECT);
  39. return true;
  40. }
  41. bool MaterialImporter::SaveSettingsInternal()
  42. {
  43. if (!AssetImporter::SaveSettingsInternal())
  44. return false;
  45. JSONValue import = jsonRoot_.CreateChild("MaterialImporter");
  46. return true;
  47. }
  48. }