BsScriptObject.cpp 514 B

123456789101112131415161718192021222324
  1. #include "BsScriptObject.h"
  2. #include "BsMonoManager.h"
  3. #include "BsMonoField.h"
  4. namespace BansheeEngine
  5. {
  6. ScriptObjectBase::ScriptObjectBase(MonoObject* instance)
  7. :mManagedInstance(instance)
  8. {
  9. }
  10. ScriptObjectBase::~ScriptObjectBase()
  11. {
  12. if(mManagedInstance != nullptr)
  13. CM_EXCEPT(InvalidStateException, "Script object is being destroyed without its instance previously being released.");
  14. }
  15. void ScriptObjectBase::_onManagedInstanceDeleted()
  16. {
  17. mManagedInstance = nullptr;
  18. cm_delete(this);
  19. }
  20. }