BsScriptSkeleton.generated.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "BsScriptSkeleton.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Animation/BsSkeleton.h"
  6. #include "BsScriptSkeletonBoneInfoEx.generated.h"
  7. #include "../../SBansheeEngine/Extensions/BsSkeletonEx.h"
  8. namespace bs
  9. {
  10. ScriptSkeleton::ScriptSkeleton(MonoObject* managedInstance, const SPtr<Skeleton>& value)
  11. :ScriptObject(managedInstance), mInternal(value)
  12. {
  13. }
  14. void ScriptSkeleton::initRuntimeData()
  15. {
  16. metaData.scriptClass->addInternalCall("Internal_getNumBones", (void*)&ScriptSkeleton::Internal_getNumBones);
  17. metaData.scriptClass->addInternalCall("Internal_getBoneInfo", (void*)&ScriptSkeleton::Internal_getBoneInfo);
  18. }
  19. MonoObject* ScriptSkeleton::create(const SPtr<Skeleton>& value)
  20. {
  21. if(value == nullptr) return nullptr;
  22. bool dummy = false;
  23. void* ctorParams[1] = { &dummy };
  24. MonoObject* managedInstance = metaData.scriptClass->createInstance("bool", ctorParams);
  25. new (bs_alloc<ScriptSkeleton>()) ScriptSkeleton(managedInstance, value);
  26. return managedInstance;
  27. }
  28. uint32_t ScriptSkeleton::Internal_getNumBones(ScriptSkeleton* thisPtr)
  29. {
  30. uint32_t tmp__output;
  31. tmp__output = thisPtr->getInternal()->getNumBones();
  32. uint32_t __output;
  33. __output = tmp__output;
  34. return __output;
  35. }
  36. void ScriptSkeleton::Internal_getBoneInfo(ScriptSkeleton* thisPtr, int32_t boneIdx, __SkeletonBoneInfoExInterop* __output)
  37. {
  38. SkeletonBoneInfoEx tmp__output;
  39. tmp__output = SkeletonEx::getBoneInfo(thisPtr->getInternal(), boneIdx);
  40. __SkeletonBoneInfoExInterop interop__output;
  41. interop__output = ScriptSkeletonBoneInfoEx::toInterop(tmp__output);
  42. MonoUtil::valueCopy(__output, &interop__output, ScriptSkeletonBoneInfoEx::getMetaData()->scriptClass->_getInternalClass());
  43. }
  44. }