void ScriptPlaneCollider::internal_CreateInstance(MonoObject* instance) { SPtr<PlaneCollider> collider = PlaneCollider::create(); collider->_setOwner(PhysicsOwnerType::Script, instance); new (bs_alloc<ScriptPlaneCollider>()) ScriptPlaneCollider(instance, collider); }
SPtr<Joint> CSliderJoint::createInternal() { SPtr<Joint> joint = SliderJoint::create(mDesc); joint->_setOwner(PhysicsOwnerType::Component, this); return joint; }
void ScriptCharacterController::internal_CreateInstance(MonoObject* instance, CHAR_CONTROLLER_DESC* initData) { SPtr<CharacterController> charController = CharacterController::create(*initData); charController->_setOwner(PhysicsOwnerType::Script, instance); new (bs_alloc<ScriptCharacterController>()) ScriptCharacterController(instance, charController); }
SPtr<Collider> CBoxCollider::createInternal() { const Transform& tfrm = SO()->getTransform(); SPtr<Collider> collider = BoxCollider::create(mExtents, tfrm.getPosition(), tfrm.getRotation()); collider->_setOwner(PhysicsOwnerType::Component, this); return collider; }
void ScriptRigidbody::internal_CreateInstance(MonoObject* instance, ScriptSceneObject* linkedSO) { HSceneObject so; if (linkedSO != nullptr) so = linkedSO->getNativeSceneObject(); SPtr<Rigidbody> rigidbody = Rigidbody::create(so); rigidbody->_setOwner(PhysicsOwnerType::Script, instance); new (bs_alloc<ScriptRigidbody>()) ScriptRigidbody(instance, rigidbody); }
void ScriptHingeJoint::internal_CreateInstance(MonoObject* instance, ScriptCommonJointData* commonData, ScriptHingeJointData* data) { HINGE_JOINT_DESC desc; commonData->toDesc(desc); data->toDesc(desc); SPtr<HingeJoint> joint = HingeJoint::create(desc); joint->_setOwner(PhysicsOwnerType::Script, instance); new (bs_alloc<ScriptHingeJoint>()) ScriptHingeJoint(instance, joint); }