예제 #1
0
        public void Close()
        {
            if (LoadingExtension.Instance != null)
            {
                var uiView         = UIView.GetAView();
                var trafficManager = uiView.FindUIComponent("UITrafficManager");
                if (trafficManager != null)
                {
                    Log._Debug("Hiding TM UI");
                    trafficManager.Hide();
                }
                else
                {
                    Log._Debug("Hiding TM UI: null!");
                }

                UITrafficManager.deactivateButtons();
                TrafficManagerTool.SetToolMode(ToolMode.None);
                LoadingExtension.Instance.SetToolMode(TrafficManagerMode.None);

                _uiShown = false;
            }
            else
            {
                Log._Debug("TM UI Close: LoadingExtension.Instance is null!");
            }
        }
        public void Show()
        {
            try {
                ToolsModifierControl.mainToolbar.CloseEverything();
            } catch (Exception e) {
                Log.Error("Error on Show(): " + e);
            }

            foreach (MenuButton button in GetMenu().Buttons)
            {
                button.UpdateProperties();
            }

            GetMenu().Show();
            LoadingExtension.TranslationDatabase.ReloadTutorialTranslations();
            LoadingExtension.TranslationDatabase.ReloadGuideTranslations();
            TrafficManagerTool.ShowAdvisor("MainMenu");
#if DEBUG
            GetDebugMenu().Show();
#endif
            SetToolMode(TrafficManagerMode.Activated);
            _uiShown = true;
            MainMenuButton.UpdateSprites();
            UIView.SetFocus(MainMenu);
        }
예제 #3
0
        public static void EnableTool()
        {
            Log._Debug("LoadingExtension.EnableTool: called");
            TrafficManagerTool tmTool = GetTrafficManagerTool(true);

            ToolsModifierControl.toolController.CurrentTool = tmTool;
            ToolsModifierControl.SetTool <TrafficManagerTool>();
        }
        private static void ClickToggleDespawn(UIComponent component, UIMouseEventParameter eventParam)
        {
            TrafficManagerTool.SetToolMode(ToolMode.None);

            Options.setEnableDespawning(!Options.enableDespawning);

            _buttonToggleDespawn.text = Options.enableDespawning
                                ? Translation.GetString("Disable_despawning")
                                : Translation.GetString("Enable_despawning");
        }
 private static void DestroyTool()
 {
     DisableTool();
     if (trafficManagerTool_ != null)
     {
         Log.Info("Removing Traffic Manager Tool.");
         UnityEngine.Object.Destroy(trafficManagerTool_);
         trafficManagerTool_ = null;
     } // end if
 }     // end DestroyTool()
        public void Close()
        {
            var uiView = UIView.GetAView();

            GetMenu().Hide();

            UITrafficManager.deactivateButtons();
            TrafficManagerTool.SetToolMode(ToolMode.None);
            LoadingExtension.SetToolMode(TrafficManagerMode.None);
            _uiShown = false;
            button.UpdateSprites();
        }
예제 #7
0
 private void clickManualControl(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.ManualSwitch)
     {
         _buttonManualControl.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.ManualSwitch);
     }
     else
     {
         _buttonManualControl.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
예제 #8
0
 private void clickVehicleRestrictions(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.VehicleRestrictions)
     {
         _buttonVehicleRestrictions.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.VehicleRestrictions);
     }
     else
     {
         _buttonVehicleRestrictions.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
예제 #9
0
 private void clickSwitchTraffic(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.SwitchTrafficLight)
     {
         _buttonSwitchTraffic.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.SwitchTrafficLight);
     }
     else
     {
         _buttonSwitchTraffic.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
 private void clickAddPrioritySigns(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.AddPrioritySigns)
     {
         _buttonPrioritySigns.normalBgSprite = _buttonPrioritySigns.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.AddPrioritySigns);
     }
     else
     {
         _buttonPrioritySigns.normalBgSprite = _buttonPrioritySigns.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
예제 #11
0
 private void clickChangeLanes(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.LaneChange)
     {
         _buttonLaneChange.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.LaneChange);
     }
     else
     {
         _buttonLaneChange.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
 private void clickLaneConnector(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.LaneConnector)
     {
         _buttonLaneConnector.normalBgSprite = _buttonLaneConnector.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.LaneConnector);
     }
     else
     {
         _buttonLaneConnector.normalBgSprite = _buttonLaneConnector.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
예제 #13
0
 private void clickSpeedLimits(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.SpeedLimits)
     {
         _buttonSpeedLimits.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.SpeedLimits);
     }
     else
     {
         _buttonSpeedLimits.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
예제 #14
0
 private void clickTimedAdd(UIComponent component, UIMouseEventParameter eventParam)
 {
     if (TrafficManagerTool.GetToolMode() != ToolMode.TimedLightsSelectNode && TrafficManagerTool.GetToolMode() != ToolMode.TimedLightsShowLights)
     {
         _buttonTimedMain.focusedBgSprite = "ButtonMenuFocused";
         TrafficManagerTool.SetToolMode(ToolMode.TimedLightsSelectNode);
     }
     else
     {
         _buttonTimedMain.focusedBgSprite = "ButtonMenu";
         TrafficManagerTool.SetToolMode(ToolMode.None);
     }
 }
        public override void Start()
        {
            TrafficLightTool = LoadingExtension.Instance.TrafficManagerTool;
            //this makes the panel "visible", I don't know what sprites are available, but found this value to work
            backgroundSprite = "GenericPanel";
            color            = new Color32(75, 75, 135, 255);
            width            = 800;
            height           = 400;
            relativePosition = new Vector3(10.48f, 80f);

            var l = AddUIComponent <UILabel>();

            l.text             = "Timed Scripts";
            l.relativePosition = new Vector3(65.0f, 5.0f);
        }
예제 #16
0
        public void Close()
        {
            GetMenu().Hide();
#if DEBUG
            GetDebugMenu().Hide();
#endif
            TrafficManagerTool tmTool = GetTrafficManagerTool(false);
            if (tmTool != null)
            {
                tmTool.SetToolMode(UI.ToolMode.None);
            }

            SetToolMode(TrafficManagerMode.None);
            _uiShown = false;
            MainMenuButton.UpdateSprites();
        }
예제 #17
0
        private static void DestroyTool()
        {
            if (ToolsModifierControl.toolController != null)
            {
                ToolsModifierControl.toolController.CurrentTool = ToolsModifierControl.GetTool <DefaultTool>();
                ToolsModifierControl.SetTool <DefaultTool>();

                if (tool != null)
                {
                    UnityEngine.Object.Destroy(tool);
                    tool = null;
                }
            }
            else
            {
                Log.Warning("LoadingExtensions.DestroyTool: ToolsModifierControl.toolController is null!");
            }
        }
        public void ShowMainMenu()
        {
            try {
                ToolsModifierControl.mainToolbar.CloseEverything();
            } catch (Exception e) {
                Log.Error("Error on Show(): " + e);
            }

            MainMenuWindow menuWindow = GetMenu();

            menuWindow.UpdateButtons();
            menuWindow.Show();

            TrafficManagerTool.ShowAdvisor("MainMenu");
#if DEBUG
            GetDebugMenu().Show();
#endif
            _uiShown = true;
            SetToolMode(TrafficManagerMode.Activated);
            MainMenuButton.UpdateButtonImageAndTooltip();
            UIView.SetFocus(MainMenu);
        }
        public override void Start()
        {
            TrafficLightTool = LoadingExtension.TrafficManagerTool;
            isVisible        = false;

            backgroundSprite = "GenericPanel";
            color            = new Color32(75, 75, 135, 255);
            width            = Translation.getMenuWidth();
            height           = 30;

            //height = LoadingExtension.IsPathManagerCompatible ? 430 : 230;
            relativePosition = new Vector3(85f, 65f);

            title                  = AddUIComponent <UILabel>();
            title.text             = "Version " + TrafficManagerMod.Version;
            title.relativePosition = new Vector3(50.0f, 5.0f);

            int y = 30;

            _buttonSwitchTraffic = _createButton(Translation.GetString("Switch_traffic_lights"), y, clickSwitchTraffic);
            y      += 40;
            height += 40;

            if (Options.prioritySignsEnabled)
            {
                _buttonPrioritySigns = _createButton(Translation.GetString("Add_priority_signs"), y, clickAddPrioritySigns);
                y      += 40;
                height += 40;
            }

            _buttonManualControl = _createButton(Translation.GetString("Manual_traffic_lights"), y, clickManualControl);
            y      += 40;
            height += 40;

            if (Options.timedLightsEnabled)
            {
                _buttonTimedMain = _createButton(Translation.GetString("Timed_traffic_lights"), y, clickTimedAdd);
                y      += 40;
                height += 40;
            }


            _buttonLaneChange = _createButton(Translation.GetString("Change_lane_arrows"), y, clickChangeLanes);
            y      += 40;
            height += 40;

            if (Options.laneConnectorEnabled)
            {
                _buttonLaneConnector = _createButton(Translation.GetString("Lane_connector"), y, clickLaneConnector);
                y      += 40;
                height += 40;
            }

            if (Options.customSpeedLimitsEnabled)
            {
                _buttonSpeedLimits = _createButton(Translation.GetString("Speed_limits"), y, clickSpeedLimits);
                y      += 40;
                height += 40;
            }

            if (Options.vehicleRestrictionsEnabled)
            {
                _buttonVehicleRestrictions = _createButton(Translation.GetString("Vehicle_restrictions"), y, clickVehicleRestrictions);
                y      += 40;
                height += 40;
            }

            if (Options.junctionRestrictionsEnabled)
            {
                _buttonJunctionRestrictions = _createButton(Translation.GetString("Junction_restrictions"), y, clickJunctionRestrictions);
                y      += 40;
                height += 40;
            }

            _buttonClearTraffic = _createButton(Translation.GetString("Clear_Traffic"), y, clickClearTraffic);
            y      += 40;
            height += 40;


            _buttonToggleDespawn = _createButton(Options.enableDespawning ? Translation.GetString("Disable_despawning") : Translation.GetString("Enable_despawning"), y, ClickToggleDespawn);
            y      += 40;
            height += 40;

#if DEBUG
            _goToField                 = CreateTextField("", y);
            y                         += 40;
            height                    += 40;
            _goToPosButton             = _createButton("Goto position", y, clickGoToPos);
            y                         += 40;
            height                    += 40;
            _goToPosButton             = _createButton("Clear position", y, clickClearPos);
            y                         += 40;
            height                    += 40;
            _goToSegmentButton         = _createButton("Goto segment", y, clickGoToSegment);
            y                         += 40;
            height                    += 40;
            _goToNodeButton            = _createButton("Goto node", y, clickGoToNode);
            y                         += 40;
            height                    += 40;
            _goToVehicleButton         = _createButton("Goto vehicle", y, clickGoToVehicle);
            y                         += 40;
            height                    += 40;
            _goToBuildingButton        = _createButton("Goto building", y, clickGoToBuilding);
            y                         += 40;
            height                    += 40;
            _goToCitizenInstanceButton = _createButton("Goto citizen inst.", y, clickGoToCitizenInstance);
            y                         += 40;
            height                    += 40;
            _printDebugInfoButton      = _createButton("Print debug info", y, clickPrintDebugInfo);
            y                         += 40;
            height                    += 40;
            _noneToVehicleButton       = _createButton("None -> Vehicle", y, clickNoneToVehicle);
            y                         += 40;
            height                    += 40;
            _vehicleToNoneButton       = _createButton("Vehicle -> None", y, clickVehicleToNone);
            y                         += 40;
            height                    += 40;
#endif
#if QUEUEDSTATS
            _togglePathFindStatsButton = _createButton("Toggle PathFind stats", y, clickTogglePathFindStats);
            y      += 40;
            height += 40;
#endif
#if DEBUG
            _removeStuckEntitiesButton = _createButton("Remove stuck entities", y, clickRemoveStuckEntities);
            y      += 40;
            height += 40;
#endif
        }
 public LegacySubTool(TrafficManagerTool mainTool)
 {
     MainTool = mainTool;
     uiTransparencyUnbsubscriber_ = ModUI.Instance.Events.UiOpacity.Subscribe(this);
 }
 public SubTool(TrafficManagerTool mainTool)
 {
     MainTool = mainTool;
 }
예제 #22
0
 public LegacySubTool(TrafficManagerTool mainTool)
 {
     MainTool = mainTool;
     uiTransparencyUnbsubscriber_ = ModUI.Instance.uiOpacityObservable.Subscribe(this);
 }
예제 #23
0
        public override void Start()
        {
            if (LoadingExtension.Instance == null)
            {
                Log.Error("UITrafficManager.Start(): LoadingExtension is null.");
                return;
            }
            TrafficLightTool = LoadingExtension.Instance.TrafficManagerTool;

            backgroundSprite = "GenericPanel";
            color            = new Color32(75, 75, 135, 255);
            width            = Translation.getMenuWidth();
            height           = LoadingExtension.IsPathManagerCompatible ? 390 : 230;
#if DEBUG
            height += 160;
#endif
            relativePosition = new Vector3(85f, 80f);

            title                  = AddUIComponent <UILabel>();
            title.text             = "Version 1.6.13";
            title.relativePosition = new Vector3(50.0f, 5.0f);

            int y = 30;
            _buttonSwitchTraffic = _createButton(Translation.GetString("Switch_traffic_lights"), y, clickSwitchTraffic);
            y += 40;
            _buttonPrioritySigns = _createButton(Translation.GetString("Add_priority_signs"), y, clickAddPrioritySigns);
            y += 40;
            _buttonManualControl = _createButton(Translation.GetString("Manual_traffic_lights"), y, clickManualControl);
            y += 40;
            _buttonTimedMain = _createButton(Translation.GetString("Timed_traffic_lights"), y, clickTimedAdd);
            y += 40;

            if (LoadingExtension.IsPathManagerCompatible)
            {
                _buttonLaneChange = _createButton(Translation.GetString("Change_lane_arrows"), y, clickChangeLanes);
                y += 40;

                _buttonSpeedLimits = _createButton(Translation.GetString("Speed_limits"), y, clickSpeedLimits);
                y += 40;

                _buttonVehicleRestrictions = _createButton(Translation.GetString("Vehicle_restrictions"), y, clickVehicleRestrictions);
                y += 40;
            }

            _buttonClearTraffic = _createButton(Translation.GetString("Clear_Traffic"), y, clickClearTraffic);
            y += 40;

            if (LoadingExtension.IsPathManagerCompatible)
            {
                _buttonToggleDespawn = _createButton(Options.enableDespawning ? Translation.GetString("Disable_despawning") : Translation.GetString("Enable_despawning"), y, ClickToggleDespawn);
                y += 40;
            }

#if DEBUG
            _goToField         = CreateTextField("", y);
            y                 += 40;
            _goToSegmentButton = _createButton("Goto segment", y, clickGoToSegment);
            y                 += 40;
            _goToNodeButton    = _createButton("Goto node", y, clickGoToNode);
            y                 += 40;
            _goToVehicleButton = _createButton("Goto vehicle", y, clickGoToVehicle);
            y                 += 40;
#endif
        }
예제 #24
0
        private void clickClearTraffic(UIComponent component, UIMouseEventParameter eventParam)
        {
            TrafficManagerTool.SetToolMode(ToolMode.None);

            TrafficPriority.RequestClearTraffic();
        }
        private void clickRemoveStuckEntities(UIComponent component, UIMouseEventParameter eventParam)
        {
            TrafficManagerTool.SetToolMode(ToolMode.None);

            UtilityManager.Instance.RequestResetStuckEntities();
        }
        private void clickClearTraffic(UIComponent component, UIMouseEventParameter eventParam)
        {
            TrafficManagerTool.SetToolMode(ToolMode.None);

            VehicleStateManager.Instance.RequestClearTraffic();
        }