OpenBve.TrackManager.StationPassAlarmEvent.Trigger C# (CSharp) Méthode

Trigger() private méthode

private Trigger ( int Direction, EventTriggerType TriggerType, TrainManager Train, int CarIndex ) : void
Direction int
TriggerType EventTriggerType
Train TrainManager
CarIndex int
Résultat void
			internal override void Trigger(int Direction, EventTriggerType TriggerType, TrainManager.Train Train, int CarIndex) {
				if (TriggerType == EventTriggerType.FrontCarFrontAxle) {
					if (Direction > 0) {
						int d = Train.DriverCar;
						Sounds.SoundBuffer buffer = Train.Cars[d].Sounds.Halt.Buffer;
						if (buffer != null) {
							OpenBveApi.Math.Vector3 pos = Train.Cars[d].Sounds.Halt.Position;
							if (Train.Specs.PassAlarm == TrainManager.PassAlarmType.Single) {
								Train.Cars[d].Sounds.Halt.Source = Sounds.PlaySound(buffer, 1.0, 1.0, pos, Train, d, false);
							} else if (Train.Specs.PassAlarm == TrainManager.PassAlarmType.Loop) {
								Train.Cars[d].Sounds.Halt.Source = Sounds.PlaySound(buffer, 1.0, 1.0, pos, Train, d, true);
							}
						}
						this.DontTriggerAnymore = true;
					}
				}
			}
		}
TrackManager.StationPassAlarmEvent