private void SetWheelBroken(VehicleEntity vehicle, VehiclePartIndex index)
        {
            AssertUtility.Assert(index != VehiclePartIndex.Body);

            var controller      = vehicle.GetController <VehicleAbstractController>();
            var controllerIndex = VehicleIndexHelper.ToVehicleControllerWheelIndex(index);

            controller.SetWheelBroken(controllerIndex);

            if (!controller.IsKinematic)
            {
                var config  = controller.GetComponent <VehicleConfig>();
                var impulse = config.wheelExplosionImpulse;
                if (impulse > 0)
                {
                    var force = controller.transform.up * impulse * controller.cachedRigidbody.mass;
                    vehicle.AddImpulseAtPosition(force, controller.GetWheel(controllerIndex).wheelTransform.position);
                }
            }

            vehicle.vehicleBrokenFlag.SetVehiclePartColliderBroken(index);
        }