void EnableIcons() { RoadCustomizerTool rct = ToolsModifierControl.GetCurrentTool <RoadCustomizerTool>(); if (rct != null) { RoadManager.VehicleType restrictions = rct.GetCurrentVehicleRestrictions(); float speed = rct.GetCurrentSpeedRestrictions() * 50f; for (int i = 0; i < this.m_scrollablePanel.components.Count; i++) { UIButton btn = this.m_scrollablePanel.components[i] as UIButton; if (this.m_panelType == Panel.VehicleRestrictions) { RoadManager.VehicleType vehicleType = (RoadManager.VehicleType)btn.objectUserData; if ((vehicleType & restrictions) == vehicleType) { btn.stringUserData = "Selected"; btn.normalFgSprite = btn.name; btn.focusedFgSprite = btn.name; btn.hoveredFgSprite = btn.name + "90%"; btn.pressedFgSprite = btn.name + "80%"; } else if (vehicleType == RoadManager.VehicleType.EmergencyVehicles && (restrictions & RoadManager.VehicleType.Emergency) == RoadManager.VehicleType.Emergency) { btn.stringUserData = "Emergency"; btn.hoveredFgSprite = btn.name + "90%"; btn.pressedFgSprite = btn.name + "80%"; StartCoroutine("EmergencyLights", btn); } else { btn.stringUserData = null; btn.normalFgSprite = btn.name + "Deselected"; btn.focusedFgSprite = btn.name + "Deselected"; btn.hoveredFgSprite = btn.name + "80%"; btn.pressedFgSprite = btn.name + "90%"; } btn.state = UIButton.ButtonState.Normal; } else if (this.m_panelType == Panel.SpeedRestrictions) { if (Mathf.Approximately((int)btn.objectUserData, speed)) { m_selectedIndex = i; } } btn.isEnabled = true; } } }
private void OnEnable() { this.RefreshPanel(); RoadCustomizerTool rct = ToolsModifierControl.GetTool <RoadCustomizerTool>(); if (rct != null) { rct.OnStartLaneCustomization += EnableIcons; rct.OnEndLaneCustomization += DisableIcons; } }
private void OnDisable() { RoadCustomizerTool rct = ToolsModifierControl.GetTool <RoadCustomizerTool>(); if (rct != null) { if (m_panelType == Panel.VehicleRestrictions) { rct.OnStartLaneCustomization -= EnableIcons; rct.OnEndLaneCustomization -= DisableIcons; } } }
protected void OnButtonClicked(UIButton btn) { if (m_panelType == Panel.VehicleRestrictions) { RoadManager.VehicleType vehicleType = (RoadManager.VehicleType)btn.objectUserData; if (vehicleType != RoadManager.VehicleType.None) { if (String.IsNullOrEmpty(btn.stringUserData)) { btn.stringUserData = "Selected"; btn.normalFgSprite = btn.name; btn.focusedFgSprite = btn.name; btn.hoveredFgSprite = btn.name + "90%"; btn.pressedFgSprite = btn.name + "80%"; } else if (vehicleType == RoadManager.VehicleType.EmergencyVehicles && btn.stringUserData != "Emergency") { btn.stringUserData = "Emergency"; StartCoroutine("EmergencyLights", btn); } else { if (vehicleType == RoadManager.VehicleType.EmergencyVehicles) { StopCoroutine("EmergencyLights"); } btn.stringUserData = null; btn.normalFgSprite = btn.name + "Deselected"; btn.focusedFgSprite = btn.name + "Deselected"; btn.hoveredFgSprite = btn.name + "80%"; btn.pressedFgSprite = btn.name + "90%"; } RoadCustomizerTool rct = ToolsModifierControl.GetCurrentTool <RoadCustomizerTool>(); if (rct != null) { if (btn.stringUserData == "Emergency") { rct.ToggleRestriction(vehicleType ^ RoadManager.VehicleType.Emergency); } else if (vehicleType == RoadManager.VehicleType.EmergencyVehicles && btn.stringUserData == null) { rct.ToggleRestriction(RoadManager.VehicleType.Emergency); } else { rct.ToggleRestriction(vehicleType); } } } } else if (m_panelType == Panel.SpeedRestrictions) { RoadCustomizerTool rct = ToolsModifierControl.GetCurrentTool <RoadCustomizerTool>(); if (rct != null) { rct.SetSpeedRestrictions((int)btn.objectUserData); } } }