void ScriptPlaneCollider::internal_CreateInstance(MonoObject* instance)
	{
		SPtr<PlaneCollider> collider = PlaneCollider::create();
		collider->_setOwner(PhysicsOwnerType::Script, instance);

		new (bs_alloc<ScriptPlaneCollider>()) ScriptPlaneCollider(instance, collider);
	}
示例#2
0
	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);
	}
示例#4
0
	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);
	}