private void OnCompatibilityModeChanged(UIComponent component, bool isChecked) { if (ImprovedPublicTransportMod.Settings.CompatibilityMode == isChecked) { return; } Utils.Log((object)("Changing compatibility mode: " + (isChecked ? "on" : "off"))); ImprovedPublicTransportMod.Settings.CompatibilityMode = isChecked; if (isChecked) { TransportLineMod.RevertDetourUpdateMeshData(); } else { TransportLineMod.DetourUpdateMeshData(); } }
public static void Init() { if (!TransportLineMod.TryLoadData(out TransportLineMod._lineData)) { Utils.Log((object)"Loading default transport line data."); NetManager instance1 = Singleton <NetManager> .instance; TransportManager instance2 = Singleton <TransportManager> .instance; int length = instance2.m_lines.m_buffer.Length; for (int index = 0; index < length; ++index) { if (instance2.m_lines.m_buffer[index].Complete) { int num = instance2.m_lines.m_buffer[index].CountVehicles((ushort)index); TransportLineMod._lineData[index].TargetVehicleCount = num; } else { TransportLineMod._lineData[index].TargetVehicleCount = ImprovedPublicTransportMod.Settings.DefaultVehicleCount; } TransportLineMod._lineData[index].BudgetControl = ImprovedPublicTransportMod.Settings.BudgetControl; TransportLineMod._lineData[index].Depot = TransportLineMod.GetClosestDepot((ushort)index, instance1.m_nodes.m_buffer[(int)instance2.m_lines.m_buffer[index].GetStop(0)].m_position); TransportLineMod._lineData[index].Unbunching = ImprovedPublicTransportMod.Settings.Unbunching; } } SerializableDataExtension.instance.EventSaveData += new SerializableDataExtension.SaveDataEventHandler(TransportLineMod.OnSaveData); if (!TransportLineMod._isDeployed) { TransportLineMod._redirectionSimulationStep = new Redirection <TransportLine, TransportLineMod>("SimulationStep"); TransportLineMod._redirectionUpdateMeshData = new Redirection <TransportLine, TransportLineMod>("UpdateMeshData", false); if (!ImprovedPublicTransportMod.Settings.CompatibilityMode) { TransportLineMod.DetourUpdateMeshData(); } TransportLineMod._isDeployed = true; } TransportLineMod._init = true; }