internal void Elapse(ElapseData data) {
this.PluginInitializing = false;
if (data.ElapsedTime.Seconds > 0.0 & data.ElapsedTime.Seconds < 1.0) {
// --- panel ---
for (int i = 0; i < this.Panel.Length; i++) {
this.Panel[i] = 0;
}
// --- devices ---
this.State = data.Vehicle;
this.Handles = new ReadOnlyHandles(data.Handles);
bool blocking = false;
foreach (Device device in this.Devices) {
device.Elapse(data, ref blocking);
}
// --- panel ---
int seconds = (int)Math.Floor(data.TotalTime.Seconds);
this.Panel[10] = (seconds / 3600) % 24;
this.Panel[11] = (seconds / 60) % 60;
this.Panel[12] = seconds % 60;
this.Panel[269] = data.Handles.ConstSpeed ? 1 : 0;
if (data.Handles.Reverser != 0 & (this.Handles.PowerNotch > 0 & this.Handles.BrakeNotch == 0 | this.Handles.PowerNotch == 0 & this.Handles.BrakeNotch == 1 & this.Specs.HasHoldBrake)) {
this.Panel[100] = 1;
}
if (data.Handles.BrakeNotch >= this.Specs.AtsNotch & data.Handles.BrakeNotch <= this.Specs.BrakeNotches | data.Handles.Reverser != 0 & data.Handles.BrakeNotch == 1 & this.Specs.HasHoldBrake) {
this.Panel[101] = 1;
}
// --- sound ---
this.Sounds.Elapse(data);
}
}