BsScriptObjectImpl.cpp 767 B

123456789101112131415161718192021222324
  1. #include "BsScriptObjectImpl.h"
  2. #include "BsMonoManager.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "BsScriptObjectManager.h"
  6. namespace BansheeEngine
  7. {
  8. ScriptObjectImpl::ScriptObjectImpl(MonoObject* instance)
  9. :ScriptObject(instance)
  10. { }
  11. void ScriptObjectImpl::initRuntimeData()
  12. {
  13. metaData.scriptClass->addInternalCall("Internal_ManagedInstanceDeleted", &ScriptObjectImpl::internal_managedInstanceDeleted);
  14. }
  15. void ScriptObjectImpl::internal_managedInstanceDeleted(ScriptObjectBase* instance)
  16. {
  17. // This method gets called on the finalizer thread, but so that we don't need to deal
  18. // with multi-threading issues we just delay it and execute it on the sim thread.
  19. ScriptObjectManager::instance().notifyObjectFinalized(instance);
  20. }
  21. }