public override void OnUpdate(float realTimeDelta, float simulationTimeDelta) { if (Event.current.alt && Input.GetKeyDown(KeyCode.T)) { var manager = Singleton <InfoManager> .instance; UIView.playSoundDelegate(UIView.GetAView().defaultClickSound, 1f); if (manager.CurrentMode != InfoManager.InfoMode.TerrainHeight) { BuildingTool currentTool = ToolsModifierControl.GetCurrentTool <BuildingTool>(); if (currentTool != null && currentTool.m_relocate != 0) { currentTool.CancelRelocate(); } Singleton <InfoViewsPanel> .instance.CloseToolbar(); WorldInfoPanel.HideAllWorldInfoPanels(); if (Singleton <InfoManager> .exists) { m_previousMode = manager.CurrentMode; m_previousSubInfoMode = manager.CurrentSubMode; Singleton <InfoManager> .instance.SetCurrentMode(InfoManager.InfoMode.TerrainHeight, InfoManager.SubInfoMode.Default); Singleton <GuideManager> .instance.InfoViewUsed(); } } else { Singleton <InfoViewsPanel> .instance.CloseToolbar(); manager.SetCurrentMode(m_previousMode, m_previousSubInfoMode); Singleton <GuideManager> .instance.InfoViewUsed(); } } }
public void Update() { if (!InfoManager.exists || InfoManager.instance.CurrentMode == cachedInfoMode) { return; } if (InfoManager.instance.CurrentMode == InfoManager.InfoMode.None) { if (!NaturalResourceManager.exists) { return; } if (NaturalResourceManager.instance.m_resourceTexture != null) { Shader.SetGlobalTexture("_NaturalResources", (Texture)NaturalResourceManager.instance.m_resourceTexture); } if (NaturalResourceManager.instance.m_destructionTexture != null) { Shader.SetGlobalTexture("_NaturalDestruction", (Texture)NaturalResourceManager.instance.m_destructionTexture); } } else { if (NaturalResourcesManagerDetour.infoViewTexture != null) { Shader.SetGlobalTexture("_NaturalResources", (Texture)NaturalResourcesManagerDetour.infoViewTexture); } if (NaturalResourcesManagerDetour.infoViewTextureB != null) { Shader.SetGlobalTexture("_NaturalDestruction", (Texture)NaturalResourcesManagerDetour.infoViewTextureB); } } cachedInfoMode = InfoManager.instance.CurrentMode; }
//UI stuff public override Color GetColor( ushort vehicleID, ref Vehicle data, InfoManager.InfoMode infoMode) { switch (infoMode) { case InfoManager.InfoMode.Transport: return(Singleton <TransportManager> .instance.m_properties.m_transportColors[(int)this.m_transportInfo.m_transportType]); case InfoManager.InfoMode.Connections: InfoManager.SubInfoMode currentSubMode = Singleton <InfoManager> .instance.CurrentSubMode; TransferManager.TransferReason transferType = (TransferManager.TransferReason)data.m_transferType; if (currentSubMode == InfoManager.SubInfoMode.Default && (data.m_flags & Vehicle.Flags.Importing) != ~(Vehicle.Flags.Created | Vehicle.Flags.Deleted | Vehicle.Flags.Spawned | Vehicle.Flags.Inverted | Vehicle.Flags.TransferToTarget | Vehicle.Flags.TransferToSource | Vehicle.Flags.Emergency1 | Vehicle.Flags.Emergency2 | Vehicle.Flags.WaitingPath | Vehicle.Flags.Stopped | Vehicle.Flags.Leaving | Vehicle.Flags.Arriving | Vehicle.Flags.Reversed | Vehicle.Flags.TakingOff | Vehicle.Flags.Flying | Vehicle.Flags.Landing | Vehicle.Flags.WaitingSpace | Vehicle.Flags.WaitingCargo | Vehicle.Flags.GoingBack | Vehicle.Flags.WaitingTarget | Vehicle.Flags.Importing | Vehicle.Flags.Exporting | Vehicle.Flags.Parking | Vehicle.Flags.CustomName | Vehicle.Flags.OnGravel | Vehicle.Flags.WaitingLoading | Vehicle.Flags.Congestion | Vehicle.Flags.DummyTraffic | Vehicle.Flags.Underground | Vehicle.Flags.Transition | Vehicle.Flags.InsideBuilding | Vehicle.Flags.LeftHandDrive) && transferType != TransferManager.TransferReason.None) { return(Singleton <TransferManager> .instance.m_properties.m_resourceColors[(int)transferType]); } return(currentSubMode == InfoManager.SubInfoMode.WaterPower && (data.m_flags & Vehicle.Flags.Exporting) != ~(Vehicle.Flags.Created | Vehicle.Flags.Deleted | Vehicle.Flags.Spawned | Vehicle.Flags.Inverted | Vehicle.Flags.TransferToTarget | Vehicle.Flags.TransferToSource | Vehicle.Flags.Emergency1 | Vehicle.Flags.Emergency2 | Vehicle.Flags.WaitingPath | Vehicle.Flags.Stopped | Vehicle.Flags.Leaving | Vehicle.Flags.Arriving | Vehicle.Flags.Reversed | Vehicle.Flags.TakingOff | Vehicle.Flags.Flying | Vehicle.Flags.Landing | Vehicle.Flags.WaitingSpace | Vehicle.Flags.WaitingCargo | Vehicle.Flags.GoingBack | Vehicle.Flags.WaitingTarget | Vehicle.Flags.Importing | Vehicle.Flags.Exporting | Vehicle.Flags.Parking | Vehicle.Flags.CustomName | Vehicle.Flags.OnGravel | Vehicle.Flags.WaitingLoading | Vehicle.Flags.Congestion | Vehicle.Flags.DummyTraffic | Vehicle.Flags.Underground | Vehicle.Flags.Transition | Vehicle.Flags.InsideBuilding | Vehicle.Flags.LeftHandDrive) && transferType != TransferManager.TransferReason.None ? Singleton <TransferManager> .instance.m_properties.m_resourceColors[(int)transferType] : Singleton <InfoManager> .instance.m_properties.m_neutralColor); case InfoManager.InfoMode.TrafficRoutes: if (Singleton <InfoManager> .instance.CurrentSubMode == InfoManager.SubInfoMode.Default) { InstanceID empty = InstanceID.Empty; empty.Vehicle = vehicleID; return(Singleton <NetManager> .instance.PathVisualizer.IsPathVisible(empty) ? Singleton <InfoManager> .instance.m_properties.m_routeColors[3] : Singleton <InfoManager> .instance.m_properties.m_neutralColor); } break; } return(base.GetColor(vehicleID, ref data, infoMode)); }
public void Render() { if (m_mesh == null) { return; } float magnitude = m_bounds.extents.magnitude; float num = magnitude + 16f; float num2 = magnitude * m_zoom; m_camera.transform.position = -Vector3.forward * num2; m_camera.transform.rotation = Quaternion.identity; m_camera.nearClipPlane = Mathf.Max(num2 - num * 1.5f, 0.01f); m_camera.farClipPlane = num2 + num * 1.5f; Quaternion quaternion = Quaternion.Euler(-20f, 0f, 0f) * Quaternion.Euler(0f, m_rotation, 0f); Vector3 pos = quaternion * -m_bounds.center; Matrix4x4 matrix = Matrix4x4.TRS(pos, quaternion, Vector3.one); InfoManager infoManager = Singleton <InfoManager> .instance; InfoManager.InfoMode currentMod = infoManager.CurrentMode; InfoManager.SubInfoMode currentSubMod = infoManager.CurrentSubMode;; infoManager.SetCurrentMode(InfoManager.InfoMode.None, InfoManager.SubInfoMode.Default); Graphics.DrawMesh(m_mesh, matrix, material, 0, m_camera, 0, null, true, true); m_camera.RenderWithShader(material.shader, ""); infoManager.SetCurrentMode(currentMod, currentSubMod); }
//taken from MetroAI public override Color GetColor(ushort nodeID, ref NetNode data, InfoManager.InfoMode infoMode) { switch (infoMode) { case InfoManager.InfoMode.Transport: return(Singleton <TransportManager> .instance.m_properties.m_transportColors[(int)TransportInfo.TransportType.Metro] * 0.2f); case InfoManager.InfoMode.Traffic: NetManager instance = Singleton <NetManager> .instance; int num1 = 0; int num2 = 0; for (int index = 0; index < 8; ++index) { ushort segment = data.GetSegment(index); if ((int)segment != 0) { num1 += (int)instance.m_segments.m_buffer[(int)segment].m_trafficDensity; ++num2; } } if (num2 != 0) { num1 /= num2; } return(Color.Lerp(Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_targetColor, Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_negativeColor, Mathf.Clamp01((float)num1 * 0.01f)) * 0.2f); case InfoManager.InfoMode.Maintenance: return(Singleton <TransportManager> .instance.m_properties.m_transportColors[(int)TransportInfo.TransportType.Metro] * 0.2f); default: return(base.GetColor(nodeID, ref data, infoMode)); } }
public static bool Prefix(ref Color __result, ushort buildingID, ref Building data, InfoManager.InfoMode infoMode) { // When the Parking AI is enabled and the traffic info view is active, // colorizes buildings depending on the number of succeeded/failed parking // maneuvers, or if the public transport info view is active, colorizes // buildings depending on the current unfulfilled incoming/outgoing demand // for public transport. if (Options.parkingAI && infoMode != InfoManager.InfoMode.None) { if (AdvancedParkingManager.Instance.GetBuildingInfoViewColor( buildingID, ref data, ref ExtBuildingManager.Instance.ExtBuildings[buildingID], infoMode, out Color? color)) { __result = color ?? InfoManager.instance.m_properties.m_neutralColor; return(false); } } return(true); }
public void SetInfoMode(string name) { try { InfoManager infoManager = Singleton <InfoManager> .instance; if (infoManager != null) { InfoManager.InfoMode infoMode = InfoManager.InfoMode.None; InfoManager.SubInfoMode subInfoMode = InfoManager.SubInfoMode.None; GetInfoModes(name, out infoMode, out subInfoMode); if (infoManager.CurrentMode == infoMode && infoManager.CurrentSubMode == subInfoMode) { infoManager.SetCurrentMode(InfoManager.InfoMode.None, InfoManager.SubInfoMode.None); } else { infoManager.SetCurrentMode(infoMode, subInfoMode); } } } catch (Exception e) { Debug.Log("[Watch It!] Watch:SetInfoMode -> Exception: " + e.Message); } }
public override Color GetColor(ushort buildingID, ref Building data, InfoManager.InfoMode infoMode) { if (infoMode == InfoManager.InfoMode.Water) { if (this.m_naturalDrainageMultiplier != 0 && Singleton <WeatherManager> .instance.m_currentRain > 0) { return(Color.cyan); } if ((data.m_flags & Building.Flags.Active) == Building.Flags.None) { return(Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_inactiveColor); } return(base.GetColor(buildingID, ref data, infoMode)); } else { if (infoMode == InfoManager.InfoMode.TerrainHeight) { if ((data.m_flags & Building.Flags.Active) == Building.Flags.None) { return(Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_inactiveColor); } } if (infoMode != InfoManager.InfoMode.Pollution) { return(base.GetColor(buildingID, ref data, infoMode)); } return(base.GetColor(buildingID, ref data, infoMode)); } }
public override void OnUpdate(float realTimeDelta, float simulationTimeDelta) { if (Event.current.alt && Input.GetKeyDown(KeyCode.T)) { var manager = Singleton<InfoManager>.instance; UIView.playSoundDelegate(UIView.GetAView().defaultClickSound, 1f); if (manager.CurrentMode != InfoManager.InfoMode.TerrainHeight) { BuildingTool currentTool = ToolsModifierControl.GetCurrentTool<BuildingTool>(); if (currentTool != null && currentTool.m_relocate != 0) { currentTool.CancelRelocate(); } Singleton<InfoViewsPanel>.instance.CloseToolbar(); WorldInfoPanel.HideAllWorldInfoPanels(); if (Singleton<InfoManager>.exists) { m_previousMode = manager.CurrentMode; m_previousSubInfoMode = manager.CurrentSubMode; Singleton<InfoManager>.instance.SetCurrentMode(InfoManager.InfoMode.TerrainHeight, InfoManager.SubInfoMode.Default); Singleton<GuideManager>.instance.InfoViewUsed(); } } else { Singleton<InfoViewsPanel>.instance.CloseToolbar(); manager.SetCurrentMode(m_previousMode, m_previousSubInfoMode); Singleton<GuideManager>.instance.InfoViewUsed(); } } }
//The exact execution of GetColor is handled by a separate class, which this class stores a reference to. public override Color GetColor(ushort buildingID, ref Building data, InfoManager.InfoMode infoMode) { foreach (var module in ColorModules) { module(buildingID, ref data, infoMode, ref color); } return(color); }
private void RememberCurrentTool() { _previousTool = CurrentTool; var im = InfoManager.instance; _previousInfoMode = im.NextMode; _previousSubInfoMode = im.NextSubMode; DebugLog.Info($"Remembering {_previousTool?.GetType().Name} and {im.NextMode},{im.NextSubMode}"); }
static bool Prefix(ref Color __result, ushort buildingID, InfoManager.InfoMode infoMode) { if (Painter.instance.Colors.TryGetValue(buildingID, out SerializableColor color) && infoMode == InfoManager.InfoMode.None) { __result = color; return(false); } return(true); }
private static void ApplyForcedMode(ref InfoManager.InfoMode mode, ref InfoManager.SubInfoMode subMode) { if (!_forceMode) { return; } mode = _forcedMode; subMode = _forcesSubMode; }
protected override void OnEnable() { InfoManager.InfoMode currentMode = Singleton <InfoManager> .instance.CurrentMode; InfoManager.SubInfoMode currentSubMode = Singleton <InfoManager> .instance.CurrentSubMode; m_prevRenderZones = Singleton <TerrainManager> .instance.RenderZones; m_toolController.CurrentTool = this; Singleton <InfoManager> .instance.SetCurrentMode(currentMode, currentSubMode); Singleton <TerrainManager> .instance.RenderZones = false; }
public Color CustomGetColor(ushort buildingId, ref Building data, InfoManager.InfoMode infoMode) { if (infoMode != InfoManager.InfoMode.None) { // NON-STOCK CODE START // When the Parking AI is enabled and the traffic info view is active, // colorizes buildings depending on the number of succeeded/failed parking // maneuvers, or if the public transport info view is active, colorizes // buildings depending on the current unfulfilled incoming/outgoing demand // for public transport. if (Options.parkingAI) { if (AdvancedParkingManager.Instance.GetBuildingInfoViewColor( buildingId, ref data, ref ExtBuildingManager.Instance.ExtBuildings[buildingId], infoMode, out Color? color)) { return((Color)color); } } // NON-STOCK CODE END return(Singleton <InfoManager> .instance.m_properties.m_neutralColor); } if (!m_info.m_useColorVariations) { return(m_info.m_color0); } Randomizer randomizer = new Randomizer(buildingId); switch (randomizer.Int32(4u)) { case 0: return(m_info.m_color0); case 1: return(m_info.m_color1); case 2: return(m_info.m_color2); case 3: return(m_info.m_color3); default: return(m_info.m_color0); } }
/// <summary> /// return the color of the vehicle /// same Prefix routine is used for all vehicle AI types /// </summary> /// <returns>whether or not to do base processing</returns> public static bool VehicleAIGetColor(ushort vehicleID, ref Vehicle data, InfoManager.InfoMode infoMode, ref Color __result) { // do processing for this mod only for Outside Connections info view if (infoMode == InfoManager.InfoMode.Connections) { return(EOCVUserInterface.GetVehicleColor(vehicleID, ref data, ref __result)); } // do base processing return(true); }
private void ForgetPreviousTool() { if (_previousTool == null) { return; } DebugLog.Info($"Remembering {_previousTool?.GetType().Name} and {_previousInfoMode},{_previousSubInfoMode}"); _previousTool = null; _previousInfoMode = InfoManager.InfoMode.None; _previousSubInfoMode = InfoManager.SubInfoMode.Default; }
public override void GetPlacementInfoMode(out InfoManager.InfoMode mode, out InfoManager.SubInfoMode subMode, float elevation) { if (m_incomingResources[0] == TransferManager.TransferReason.Fish) { mode = InfoManager.InfoMode.Fishing; subMode = InfoManager.SubInfoMode.Default; } else { base.GetPlacementInfoMode(out mode, out subMode, elevation); } }
public new static void ForceInfoMode(InfoManager.InfoMode mode, InfoManager.SubInfoMode subMode) { var currentTool = ToolsModifierControl.GetCurrentTool <ToolBase>(); switch (currentTool.GetType().Name) { case "BuildingTool": case "TreeTool": case "ResourceTool": case "DistrictTool": case "TransportTool": case "CustomTransportTool": if (!Util.IsInfoViewsPanelVisible()) { mode = InfoManager.InfoMode.None; subMode = InfoManager.SubInfoMode.Default; } else { ApplyForcedMode(ref mode, ref subMode); } break; case "NetTool": if (Util.IsInfoViewsPanelVisible()) { ApplyForcedMode(ref mode, ref subMode); if (mode == InfoManager.InfoMode.None) { mode = InfoManager.InfoMode.Traffic; subMode = InfoManager.SubInfoMode.Default; } } else { mode = InfoManager.InfoMode.None; subMode = InfoManager.SubInfoMode.Default; } break; default: break; } if (mode == InfoManager.InfoMode.None && (InfoManager.InfoMode)m_forcedInfoMode.GetValue(null) == InfoManager.InfoMode.None) { return; } m_forcedInfoMode.SetValue(null, mode); Singleton <InfoManager> .instance.SetCurrentMode(mode, subMode); }
internal void ToggleTool(bool newState, InfoManager.InfoMode viewMode, InfoManager.SubInfoMode submode) { if (newState) { InfoManager.instance.SetCurrentMode(viewMode, submode); } else { InfoManager.instance.SetCurrentMode(InfoManager.InfoMode.None, InfoManager.SubInfoMode.None); } StartCoroutine(ToggleTool_Internal(newState)); }
/// <param name="index">Used as index in an array.</param> /// <param name="name">Must be a unique string.</param> private ItemData( int index, string name, string icon, InfoManager.InfoMode infoMode, InfoManager.SubInfoMode subInfoMode) { Index = index; Name = name; Icon = icon; InfoMode = infoMode; SubInfoMode = subInfoMode; }
private InfoViewManager() { InfoViewResourceTexture = new Texture2D(512, 512, TextureFormat.RGB24, false, true) { wrapMode = TextureWrapMode.Clamp }; InfoViewDestructionTexture = new Texture2D(512, 512, TextureFormat.RGB24, false, true) { wrapMode = TextureWrapMode.Clamp }; _cachedInfoMode = InfoManager.InfoMode.None; }
public Color CustomGetColor(ushort buildingID, ref Building data, InfoManager.InfoMode infoMode) { // NON-STOCK CODE START if (Options.prohibitPocketCars) { if (infoMode == InfoManager.InfoMode.Traffic) { // parking space demand info view ExtBuilding extBuilding = ExtBuildingManager.Instance.GetExtBuilding(buildingID); return(Color.Lerp(Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_targetColor, Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_negativeColor, Mathf.Clamp01((float)extBuilding.ParkingSpaceDemand * 0.01f))); } else if (infoMode == InfoManager.InfoMode.Transport && !(data.Info.m_buildingAI is DepotAI)) { // public transport demand info view ExtBuilding extBuilding = ExtBuildingManager.Instance.GetExtBuilding(buildingID); return(Color.Lerp(Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)InfoManager.InfoMode.Traffic].m_targetColor, Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)InfoManager.InfoMode.Traffic].m_negativeColor, Mathf.Clamp01((float)(TrafficManagerTool.CurrentTransportDemandViewMode == TransportDemandViewMode.Outgoing ? extBuilding.OutgoingPublicTransportDemand : extBuilding.IncomingPublicTransportDemand) * 0.01f))); } } // NON-STOCK CODE END if (infoMode != InfoManager.InfoMode.None) { return(Singleton <InfoManager> .instance.m_properties.m_neutralColor); } if (!this.m_info.m_useColorVariations) { return(this.m_info.m_color0); } Randomizer randomizer = new Randomizer((int)buildingID); switch (randomizer.Int32(4u)) { case 0: return(this.m_info.m_color0); case 1: return(this.m_info.m_color1); case 2: return(this.m_info.m_color2); case 3: return(this.m_info.m_color3); default: return(this.m_info.m_color0); } }
private void OnImpactChartClick(UIComponent component, UIMouseEventParameter eventParam) { try { InfoManager.InfoMode infoMode = InfoManager.InfoMode.LandValue; InfoManager.SubInfoMode subInfoMode = InfoManager.SubInfoMode.Default; GetEffectInfoModes((ImmaterialResourceManager.Resource)component.objectUserData, out infoMode, out subInfoMode); Singleton <InfoManager> .instance.SetCurrentMode(infoMode, subInfoMode); } catch (Exception e) { Debug.Log("[Show It!] ZonedBuildingExtenderPanel:OnImpactChartClick -> Exception: " + e.Message); } }
//taken from MetroAI public override Color GetColor(ushort segmentID, ref NetSegment data, InfoManager.InfoMode infoMode) { switch (infoMode) { case InfoManager.InfoMode.Transport: return(Singleton <TransportManager> .instance.m_properties.m_transportColors[(int)TransportInfo.TransportType.Metro] * 0.2f); case InfoManager.InfoMode.Traffic: return(Color.Lerp(Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_targetColor, Singleton <InfoManager> .instance.m_properties.m_modeProperties[(int)infoMode].m_negativeColor, Mathf.Clamp01((float)data.m_trafficDensity * 0.01f)) * 0.2f); case InfoManager.InfoMode.Maintenance: return(Singleton <TransportManager> .instance.m_properties.m_transportColors[(int)TransportInfo.TransportType.Metro] * 0.2f); default: return(base.GetColor(segmentID, ref data, infoMode)); } }
private static void Postfix(ushort buildingID, InfoManager.InfoMode infoMode, ref Color __result) { switch (infoMode) { case InfoManager.InfoMode.TrafficRoutes: __result = Color.Lerp(negativeColor, targetColor, RealTimeAI.GetBuildingReachingTroubleFactor(buildingID)); return; case InfoManager.InfoMode.None: if (RealTimeAI.ShouldSwitchBuildingLightsOff(buildingID)) { __result.a = 0f; } return; } }
public Color CustomGetColor(ushort buildingID, ref Building data, InfoManager.InfoMode infoMode) { if (infoMode != InfoManager.InfoMode.None) { // NON-STOCK CODE START #if BENCHMARK using (var bm = new Benchmark()) { #endif if (Options.prohibitPocketCars) { Color?color; if (AdvancedParkingManager.Instance.GetBuildingInfoViewColor(buildingID, ref data, ref ExtBuildingManager.Instance.ExtBuildings[buildingID], infoMode, out color)) { return((Color)color); } } #if BENCHMARK } #endif // NON-STOCK CODE END return(Singleton <InfoManager> .instance.m_properties.m_neutralColor); } if (!this.m_info.m_useColorVariations) { return(this.m_info.m_color0); } Randomizer randomizer = new Randomizer((int)buildingID); switch (randomizer.Int32(4u)) { case 0: return(this.m_info.m_color0); case 1: return(this.m_info.m_color1); case 2: return(this.m_info.m_color2); case 3: return(this.m_info.m_color3); default: return(this.m_info.m_color0); } }
public static void SetCurrentMode(InfoManager.InfoMode Mode, InfoManager.SubInfoMode SubMode) { WorldInfoPanel.Hide <CityServiceWorldInfoPanel>(); ToolsModifierControl.mainToolbar.CloseToolbar(); var IM = Singleton <InfoManager> .instance; var mm = IM.CurrentMode; var sm = IM.CurrentSubMode; if (mm == Mode && sm == SubMode) { Singleton <InfoManager> .instance.SetCurrentMode(InfoManager.InfoMode.None, InfoManager.SubInfoMode.Default); } else { Singleton <InfoManager> .instance.SetCurrentMode(Mode, SubMode); } }
public static bool PreGetColor(ushort vehicleID, ref Vehicle data, InfoManager.InfoMode infoMode, ref Color __result) { if (infoMode != InfoManager.InfoMode.None) { LogUtils.DoLog($"NOT GETTING COLOR FOR VEHICLE: {vehicleID} INFO = {infoMode}"); return(true); } if (!m_colorConfigData.TryGetValue(data.Info.name, out ColorConfigurationXml itemData) && !m_colorConfigData.TryGetValue(data.Info.m_vehicleAI.GetType().Name, out itemData) && !m_colorConfigData.TryGetValue("*", out itemData)) { LogUtils.DoLog($"NOT GETTING COLOR FOR VEHICLE: {vehicleID} ({data.Info.m_vehicleAI.GetType().Name} | {data.Info.name}) - not found"); return(true); } LogUtils.DoLog($"GETTING COLOR FOR VEHICLE: {vehicleID} ({data.Info.m_vehicleAI.GetType().Name} | {data.Info.name}) "); return(GetNewColor(vehicleID, ref __result, itemData)); }
static void Postfix(InfoManager.InfoMode mode, InfoManager.SubInfoMode subMode) { try { if (mode == InfoManager.InfoMode.TrafficRoutes && subMode == InfoManager.SubInfoMode.JunctionSettings) { Singleton <NotificationManager> .instance.NotificationsVisible = true; } else { Singleton <NotificationManager> .instance.NotificationsVisible = ModConfig.Instance.NotificationIcons; } } catch (Exception e) { Debug.Log("[Toggle It!] InfoManagerSetCurrentModePatch:Postfix -> Exception: " + e.Message); } }
public override Color GetColor(ushort instanceID, ref CitizenInstance data, InfoManager.InfoMode infoMode) { //begin mod if (!IsCagedAnimal(data) && !LivestockAIDetour.isFreeAnimal(data)) { if (infoMode == InfoManager.InfoMode.Transport) { ushort instanceID1 = data.m_targetBuilding; if ((int)instanceID1 != 0) { CitizenManager instance = Singleton <CitizenManager> .instance; return(instance.m_instances.m_buffer[(int)instanceID1].Info.m_citizenAI.GetColor(instanceID1, ref instance.m_instances.m_buffer[(int)instanceID1], infoMode)); } } } //end mod return(base.GetColor(instanceID, ref data, infoMode)); }
public override void OnUpdate(float realTimeDelta, float simulationTimeDelta) { if(PersistentResourceViewLoader.toggleOn){ if (!Singleton<InfoManager>.instance.CurrentMode.Equals(currentInfomode)){ if (Singleton<InfoManager>.instance.CurrentMode.Equals(InfoManager.InfoMode.None)){ Singleton<InfoManager>.instance.SetCurrentMode(currentInfomode, InfoManager.SubInfoMode.Default); } else{ PersistentResourceViewLoader.toggleOn = false; currentInfomode = InfoManager.InfoMode.None; } } if (Input.GetKeyUp(KeyCode.Escape)){ PersistentResourceViewLoader.toggleOn = false; currentInfomode = InfoManager.InfoMode.None; Singleton<InfoManager>.instance.SetCurrentMode(InfoManager.InfoMode.None, InfoManager.SubInfoMode.Default); } } }
public static void ForceMode(InfoManager.InfoMode mode, InfoManager.SubInfoMode subMode) { _forceMode = true; _forcedMode = mode; _forcesSubMode = subMode; }