public void OnVehicleEnterSpecVol(SpecialVolume volume, Vehicle vehicle) { int currentVolumeId = vehicle.CurrentSpecialVolume.Count == 0 ? -1 : vehicle.CurrentSpecialVolume.Peek().Id; GameConsole.WriteEvent("Enter specvol - " + vehicle.CurrentSpecialVolume.Count); if (currentVolumeId != volume.Id) { volume.Enter(vehicle); } vehicle.CurrentSpecialVolume.Push(volume); }
public SpecialVolume Copy() { SpecialVolume vol2 = new SpecialVolume(); vol2.Id = Id; vol2.Gravity = Gravity; vol2.Viscosity = Viscosity; vol2.CarDamagePerMs = CarDamagePerMs; vol2.PedDamagePerMs = PedDamagePerMs; vol2.CameraEffectIndex = CameraEffectIndex; vol2.SkyColor = SkyColor; vol2.EntrySoundId = EntrySoundId; vol2.ExitSoundId = ExitSoundId; vol2.EngineSoundIndex = EngineSoundIndex; vol2.MaterialIndex = MaterialIndex; vol2.WindscreenMaterial = WindscreenMaterial; return vol2; }
public SpecialVolume Copy() { SpecialVolume vol2 = new SpecialVolume(); vol2.Id = Id; vol2.Gravity = Gravity; vol2.Viscosity = Viscosity; vol2.CarDamagePerMs = CarDamagePerMs; vol2.PedDamagePerMs = PedDamagePerMs; vol2.CameraEffectIndex = CameraEffectIndex; vol2.SkyColor = SkyColor; vol2.EntrySoundId = EntrySoundId; vol2.ExitSoundId = ExitSoundId; vol2.EngineSoundIndex = EngineSoundIndex; vol2.MaterialIndex = MaterialIndex; vol2.WindscreenMaterial = WindscreenMaterial; return(vol2); }
public void OnVehicleExitSpecVol(SpecialVolume exitedVolume, Vehicle vehicle) { SpecialVolume vol = vehicle.CurrentSpecialVolume.Pop(); SpecialVolume nextVol = vehicle.CurrentSpecialVolume.Count == 0 ? null : vehicle.CurrentSpecialVolume.Peek(); GameConsole.WriteEvent("Exit specvol - " + vehicle.CurrentSpecialVolume.Count); if (nextVol == null) { //reset exitedVolume.Reset(vehicle); exitedVolume.Exit(vehicle); } else if (nextVol.Id != vol.Id) { nextVol.Enter(vehicle); exitedVolume.Exit(vehicle); } }