private void OnWheelHpChange(VehicleEntity vehicle, VehiclePartIndex index)
        {
            if (!WheelEntityUtility.HasWheel(vehicle, index))
            {
                return;
            }

            if (vehicle.carGameData.GetWheelHp(index) <= 0.0f)
            {
                if (_isServer)
                {
                    vehicle.vehicleBrokenFlag.SetVehiclePartBroken(index);
                }
                else
                {
                    WheelEntityEffectUtility.PlayWheelExplosion(vehicle, index);

                    if (_isOffline)
                    {
                        vehicle.vehicleBrokenFlag.SetVehiclePartBroken(index);
                    }
                }
            }
            else
            {
                if (!_isServer && !_isOffline)
                {
                    WheelEntityEffectUtility.EnableWheelRender(vehicle, index, true);
                }
            }
        }
        protected override void OnBodyBroken(VehicleEntity vehicle)
        {
            var comp       = vehicle.vehicleBrokenFlag;
            var indexArray = VehicleIndexHelper.GetWheelIndexArray();

            foreach (var index in indexArray)
            {
                if (WheelEntityUtility.HasWheel(vehicle, index) &&
                    comp.IsVehiclePartBroken(index) &&
                    !comp.IsVehiclePartColliderBroken(index))
                {
                    SetWheelBroken(vehicle, index);
                }
            }
        }