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. }
  12. MaterialImporter::~MaterialImporter()
  13. {
  14. }
  15. void MaterialImporter::SetDefaults()
  16. {
  17. AssetImporter::SetDefaults();
  18. }
  19. bool MaterialImporter::Import(const String& guid)
  20. {
  21. return true;
  22. }
  23. void MaterialImporter::SaveMaterial()
  24. {
  25. ResourceCache* cache = GetSubsystem<ResourceCache>();
  26. Material* material = cache->GetResource<Material>(asset_->GetPath());
  27. if (material)
  28. {
  29. SharedPtr<File> file(new File(context_, asset_->GetPath(), FILE_WRITE));
  30. material->Save(*file);
  31. }
  32. }
  33. bool MaterialImporter::LoadSettingsInternal()
  34. {
  35. if (!AssetImporter::LoadSettingsInternal())
  36. return false;
  37. JSONValue import = jsonRoot_.GetChild("MaterialImporter", JSON_OBJECT);
  38. return true;
  39. }
  40. bool MaterialImporter::SaveSettingsInternal()
  41. {
  42. if (!AssetImporter::SaveSettingsInternal())
  43. return false;
  44. JSONValue import = jsonRoot_.CreateChild("MaterialImporter");
  45. return true;
  46. }
  47. }