BsScriptSerializableObject.h 786 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_SCR_BE_EXPORT ScriptSerializableObject : public ScriptObject<ScriptSerializableObject>
  7. {
  8. public:
  9. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "SerializableObject")
  10. static ScriptSerializableObject* create(const ScriptSerializableProperty* parentProperty);
  11. private:
  12. static void internal_createInstance(MonoObject* instance, MonoReflectionType* type);
  13. static ScriptSerializableObject* createInternal(MonoObject* instance, const ManagedSerializableObjectInfoPtr& objInfo);
  14. ScriptSerializableObject(MonoObject* instance, const ManagedSerializableTypeInfoPtr& typeInfo);
  15. ManagedSerializableTypeInfoPtr mTypeInfo;
  16. static MonoField* FieldsField;
  17. };
  18. }