PrefabImporter.h 708 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "AssetImporter.h"
  3. namespace Atomic
  4. {
  5. class Scene;
  6. }
  7. namespace ToolCore
  8. {
  9. class PrefabImporter : public AssetImporter
  10. {
  11. OBJECT(PrefabImporter);
  12. public:
  13. /// Construct.
  14. PrefabImporter(Context* context, Asset* asset);
  15. virtual ~PrefabImporter();
  16. virtual void SetDefaults();
  17. virtual bool Preload();
  18. /// Instantiate a node from the asset
  19. Node* InstantiateNode(Node* parent, const String& name);
  20. protected:
  21. bool Import();
  22. virtual bool LoadSettingsInternal();
  23. virtual bool SaveSettingsInternal();
  24. private:
  25. void HandlePrefabSave(StringHash eventType, VariantMap& eventData);
  26. SharedPtr<Atomic::Scene> preloadResourceScene_;
  27. };
  28. }