CSL_Traffic.UI.RoadCustomizerPanel.OnButtonClicked C# (CSharp) Method

OnButtonClicked() protected method

protected OnButtonClicked ( UIButton btn ) : void
btn UIButton
return void
        protected void OnButtonClicked(UIButton btn)
        {
            if (m_panelType == Panel.VehicleRestrictions)
            {
                ExtendedVehicleType vehicleType = (ExtendedVehicleType)btn.objectUserData;
                if (vehicleType != ExtendedVehicleType.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 == ExtendedVehicleType.EmergencyVehicles && btn.stringUserData != "Emergency")
                    {
                        btn.stringUserData = "Emergency";
                        StartCoroutine("EmergencyLights", btn);
                    }
                    else
                    {
                        if (vehicleType == ExtendedVehicleType.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 ^ ExtendedVehicleType.Emergency);
                        else if (vehicleType == ExtendedVehicleType.EmergencyVehicles && btn.stringUserData == null)
                            rct.ToggleRestriction(ExtendedVehicleType.Emergency);
                        else
                            rct.ToggleRestriction(vehicleType);		
                    }
                        
                }
            }
            else if (m_panelType == Panel.SpeedRestrictions)
            {
                RoadCustomizerTool rct = ToolsModifierControl.GetCurrentTool<RoadCustomizerTool>();
                if (rct != null)
                    rct.SetSpeedRestrictions((int)btn.objectUserData);
            }
        }