ModelImporter.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #include "../Import/OpenAssetImporter.h"
  2. #include "Asset.h"
  3. #include "AssetDatabase.h"
  4. #include "ModelImporter.h"
  5. namespace ToolCore
  6. {
  7. /// Node + Model (static or animated)
  8. ModelImporter::ModelImporter(Context* context) : AssetImporter(context)
  9. {
  10. }
  11. ModelImporter::~ModelImporter()
  12. {
  13. }
  14. void ModelImporter::SetDefaults()
  15. {
  16. AssetImporter::SetDefaults();
  17. }
  18. bool ModelImporter::Import(const String& guid)
  19. {
  20. AssetDatabase* db = GetSubsystem<AssetDatabase>();
  21. Asset* asset = db->GetAssetByGUID(guid);
  22. if (!asset)
  23. return false;
  24. SharedPtr<OpenAssetImporter> importer(new OpenAssetImporter(context_));
  25. //importer->SetVerboseLog(true);
  26. if (importer->Load(asset->GetPath()))
  27. {
  28. String cachePath = db->GetCachePath();
  29. cachePath += guid;
  30. importer->ExportModel(cachePath);
  31. }
  32. else
  33. {
  34. return false;
  35. }
  36. return true;
  37. }
  38. bool ModelImporter::LoadSettingsInternal()
  39. {
  40. if (!AssetImporter::LoadSettingsInternal())
  41. return false;
  42. JSONValue import = jsonRoot_.GetChild("ModelImporter", JSON_OBJECT);
  43. return true;
  44. }
  45. bool ModelImporter::SaveSettingsInternal()
  46. {
  47. if (!AssetImporter::SaveSettingsInternal())
  48. return false;
  49. JSONValue import = jsonRoot_.CreateChild("ModelImporter");
  50. return true;
  51. }
  52. }