public void ArmTwoWay() { if (EOTState == EOTstate.ArmNow) { EOTState = EOTstate.ArmedTwoWay; } }
public EOT(Simulator simulator, string wagPath) : base(simulator, wagPath) { EOTState = EOTstate.Disarmed; ID = IDRandom.Next(0, 99999); DelayTimer = new Timer(this); }
public override void Restore(BinaryReader inf) { ID = inf.ReadInt32(); EOTState = (EOTstate)(inf.ReadInt32()); DelayTimer = new Timer(this); switch (EOTState) { case EOTstate.CommTestOn: // restart timer DelayTimer.Setup(CommTestDelayS); DelayTimer.Start(); break; case EOTstate.LocalTestOn: // restart timer DelayTimer.Setup(LocalTestDelayS); DelayTimer.Start(); break; default: break; } base.Restore(inf); if (Train != null) { Train.EOT = this; } }
public void CommTest() { if (EOTState == EOTstate.Disarmed && (EOTLevel == EOTLevel.OneWay || EOTLevel == EOTLevel.TwoWay)) { if (DelayTimer == null) { DelayTimer = new Timer(this); } DelayTimer.Setup(CommTestDelayS); EOTState = EOTstate.CommTestOn; DelayTimer.Start(); } }
public void InitializeLevel() { switch (EOTLevel) { case EOTLevel.OneWay: EOTState = EOTstate.Armed; break; case EOTLevel.TwoWay: EOTState = EOTstate.ArmedTwoWay; break; default: break; } }
private void UpdateState() { switch (EOTState) { case EOTstate.Disarmed: break; case EOTstate.CommTestOn: if (DelayTimer.Triggered) { DelayTimer.Stop(); EOTState = EOTstate.Armed; } break; case EOTstate.Armed: if (EOTLevel == EOTLevel.TwoWay) { if (DelayTimer == null) { DelayTimer = new Timer(this); } DelayTimer.Setup(LocalTestDelayS); EOTState = EOTstate.LocalTestOn; DelayTimer.Start(); } break; case EOTstate.LocalTestOn: if (DelayTimer.Triggered) { DelayTimer.Stop(); EOTState = EOTstate.ArmNow; } break; case EOTstate.ArmNow: break; case EOTstate.ArmedTwoWay: break; } }
public void Disarm() { EOTState = EOTstate.Disarmed; }