BsScriptObjectImpl.cpp 1013 B

1234567891011121314151617181920212223242526
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsScriptObjectImpl.h"
  4. #include "BsMonoManager.h"
  5. #include "BsMonoClass.h"
  6. #include "BsMonoUtil.h"
  7. #include "BsScriptObjectManager.h"
  8. namespace bs
  9. {
  10. ScriptObjectImpl::ScriptObjectImpl(MonoObject* instance)
  11. :ScriptObject(instance)
  12. { }
  13. void ScriptObjectImpl::initRuntimeData()
  14. {
  15. metaData.scriptClass->addInternalCall("Internal_ManagedInstanceDeleted", (void*)&ScriptObjectImpl::internal_managedInstanceDeleted);
  16. }
  17. void ScriptObjectImpl::internal_managedInstanceDeleted(ScriptObjectBase* instance)
  18. {
  19. // This method gets called on the finalizer thread, but so that we don't need to deal
  20. // with multi-threading issues we just delay it and execute it on the sim thread.
  21. ScriptObjectManager::instance().notifyObjectFinalized(instance);
  22. }
  23. }