BsScriptCMeshCollider.generated.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "BsScriptCMeshCollider.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Components/BsCMeshCollider.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "Wrappers/BsScriptRRefBase.h"
  8. #include "../../../bsf/Source/Foundation/bsfCore/Physics/BsPhysicsMesh.h"
  9. namespace bs
  10. {
  11. ScriptCMeshCollider::ScriptCMeshCollider(MonoObject* managedInstance, const GameObjectHandle<CMeshCollider>& value)
  12. :TScriptComponent(managedInstance, value)
  13. {
  14. }
  15. void ScriptCMeshCollider::initRuntimeData()
  16. {
  17. metaData.scriptClass->addInternalCall("Internal_setMesh", (void*)&ScriptCMeshCollider::Internal_setMesh);
  18. metaData.scriptClass->addInternalCall("Internal_getMesh", (void*)&ScriptCMeshCollider::Internal_getMesh);
  19. }
  20. void ScriptCMeshCollider::Internal_setMesh(ScriptCMeshCollider* thisPtr, MonoObject* mesh)
  21. {
  22. ResourceHandle<PhysicsMesh> tmpmesh;
  23. ScriptRRefBase* scriptmesh;
  24. scriptmesh = ScriptRRefBase::toNative(mesh);
  25. if(scriptmesh != nullptr)
  26. tmpmesh = static_resource_cast<PhysicsMesh>(scriptmesh->getHandle());
  27. thisPtr->getHandle()->setMesh(tmpmesh);
  28. }
  29. MonoObject* ScriptCMeshCollider::Internal_getMesh(ScriptCMeshCollider* thisPtr)
  30. {
  31. ResourceHandle<PhysicsMesh> tmp__output;
  32. tmp__output = thisPtr->getHandle()->getMesh();
  33. MonoObject* __output;
  34. ScriptRRefBase* script__output;
  35. script__output = ScriptResourceManager::instance().getScriptRRef(tmp__output);
  36. if(script__output != nullptr)
  37. __output = script__output->getManagedInstance();
  38. else
  39. __output = nullptr;
  40. return __output;
  41. }
  42. }