AssetImporter.h 682 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. #include <Atomic/Resource/JSONFile.h>
  4. using namespace Atomic;
  5. namespace ToolCore
  6. {
  7. /// deals with .asset files
  8. class AssetImporter : public Object
  9. {
  10. OBJECT(AssetImporter);
  11. public:
  12. /// Construct.
  13. AssetImporter(Context* context);
  14. virtual ~AssetImporter();
  15. // load .asset
  16. bool LoadSettings(JSONValue& root);
  17. // save .asset
  18. bool SaveSettings(JSONValue& root);
  19. virtual void SetDefaults();
  20. /// Imports to cached data
  21. virtual bool Import(const String& guid) = 0;
  22. protected:
  23. JSONValue jsonRoot_;
  24. virtual bool LoadSettingsInternal();
  25. virtual bool SaveSettingsInternal();
  26. };
  27. }