BsScriptGameObject.cpp 1020 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "BsScriptGameObject.h"
  2. #include "BsScriptGameObjectManager.h"
  3. namespace BansheeEngine
  4. {
  5. ScriptGameObjectBase::ScriptGameObjectBase(MonoObject* instance)
  6. :PersistentScriptObjectBase(instance), mRefreshInProgress(false)
  7. {
  8. }
  9. ScriptObjectBackup ScriptGameObjectBase::beginRefresh()
  10. {
  11. mRefreshInProgress.store(true, std::memory_order_release);
  12. return PersistentScriptObjectBase::beginRefresh();
  13. }
  14. void ScriptGameObjectBase::endRefresh(const ScriptObjectBackup& backupData)
  15. {
  16. mRefreshInProgress.store(false, std::memory_order_release);
  17. PersistentScriptObjectBase::endRefresh(backupData);
  18. }
  19. ScriptGameObject::ScriptGameObject(MonoObject* instance)
  20. :ScriptObject(instance)
  21. { }
  22. void ScriptGameObject::initRuntimeData()
  23. {
  24. metaData.scriptClass->addInternalCall("Internal_GetInstanceId", &ScriptGameObject::internal_getInstanceId);
  25. }
  26. UINT64 ScriptGameObject::internal_getInstanceId(ScriptGameObject* nativeInstance)
  27. {
  28. return nativeInstance->getNativeHandle().getInstanceId();
  29. }
  30. }