BsScriptPhysicsMesh.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsScriptPhysicsMesh.h"
  4. #include "BsScriptResourceManager.h"
  5. #include "BsScriptMeta.h"
  6. #include "BsScriptMeshData.h"
  7. #include "BsMonoClass.h"
  8. #include "BsMonoManager.h"
  9. namespace BansheeEngine
  10. {
  11. ScriptPhysicsMesh::ScriptPhysicsMesh(MonoObject* instance, const HPhysicsMesh& mesh)
  12. :TScriptResource(instance, mesh)
  13. {
  14. }
  15. void ScriptPhysicsMesh::initRuntimeData()
  16. {
  17. metaData.scriptClass->addInternalCall("Internal_GetMeshData", &ScriptPhysicsMesh::internal_GetMeshData);
  18. metaData.scriptClass->addInternalCall("Internal_GetMeshType", &ScriptPhysicsMesh::internal_GetMeshType);
  19. }
  20. MonoObject* ScriptPhysicsMesh::internal_GetMeshData(ScriptPhysicsMesh* thisPtr)
  21. {
  22. HPhysicsMesh mesh = thisPtr->getHandle();
  23. MeshDataPtr meshData = mesh->getMeshData();
  24. return ScriptMeshData::create(meshData);
  25. }
  26. int ScriptPhysicsMesh::internal_GetMeshType(ScriptPhysicsMesh* thisPtr)
  27. {
  28. HPhysicsMesh mesh = thisPtr->getHandle();
  29. return (int)mesh->getType();
  30. }
  31. MonoObject* ScriptPhysicsMesh::createInstance()
  32. {
  33. return metaData.scriptClass->createInstance();
  34. }
  35. }