ScriptComponent.h 581 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <Atomic/Scene/Component.h>
  3. namespace Atomic
  4. {
  5. class ScriptComponentFile;
  6. class ATOMIC_API ScriptComponent : public Component
  7. {
  8. OBJECT(ScriptComponent);
  9. public:
  10. /// Construct.
  11. ScriptComponent(Context* context);
  12. /// Destruct.
  13. virtual ~ScriptComponent();
  14. static void RegisterObject(Context* context);
  15. virtual const String& GetComponentClassName() const = 0;
  16. virtual ScriptComponentFile* GetComponentFile() = 0;
  17. VariantMap& GetFieldValues() { return fieldValues_; }
  18. protected:
  19. VariantMap fieldValues_;
  20. };
  21. }