Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
        private void OnEnable()
        {
            this.RefreshPanel();
            RoadCustomizerTool rct = ToolsModifierControl.GetTool <RoadCustomizerTool>();

            if (rct != null)
            {
                rct.OnStartLaneCustomization += EnableIcons;
                rct.OnEndLaneCustomization   += DisableIcons;
            }
        }
Beispiel #3
0
        private void OnDisable()
        {
            RoadCustomizerTool rct = ToolsModifierControl.GetTool <RoadCustomizerTool>();

            if (rct != null)
            {
                if (m_panelType == Panel.VehicleRestrictions)
                {
                    rct.OnStartLaneCustomization -= EnableIcons;
                    rct.OnEndLaneCustomization   -= DisableIcons;
                }
            }
        }
Beispiel #4
0
        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);
                }
            }
        }