Exemple #1
0
        /// <summary>
        /// Called from the <see cref="TrafficManagerTool"/> when update for the Keybinds panel
        /// in MainMenu is requested. Or when we need to change state.
        /// Never call this directly, only as: MainTool.RequestOnscreenDisplayUpdate();
        /// </summary>
        void IOnscreenDisplayProvider.UpdateOnscreenDisplayPanel()
        {
            if (fsm_ == null)
            {
                OnscreenDisplay.Clear();
                return;
            }

            switch (fsm_.State)
            {
            case State.Select: {
                var items = new List <OsdItem>();
                items.Add(
                    new MainMenu.OSD.ModeDescription(
                        localizedText: T("LaneArrows.Mode:Select")));
                items.Add(
                    new MainMenu.OSD.HardcodedMouseShortcut(
                        button: UIMouseButton.Left,
                        shift: false,
                        ctrl: true,
                        alt: false,
                        localizedText: T("LaneArrows.Click:Separate lanes for entire junction")));
                items.Add(
                    new MainMenu.OSD.HardcodedMouseShortcut(
                        button: UIMouseButton.Left,
                        shift: false,
                        ctrl: false,
                        alt: true,
                        localizedText: T("LaneArrows.Click:Separate lanes for segment")));
                OnscreenDisplay.Display(items: items);
                return;
            }

            case State.EditLaneArrows: {
                var items = new List <OsdItem>();
                items.Add(
                    item: new MainMenu.OSD.Shortcut(
                        keybindSetting: KeybindSettingsBase.RestoreDefaultsKey,
                        localizedText: T(key: "LaneConnector.Label:Reset to default")));
                items.Add(item: OnscreenDisplay.RightClick_LeaveSegment());
                OnscreenDisplay.Display(items: items);
                return;
            }

            default: {
                OnscreenDisplay.Clear();
                return;
            }
            }
        }
 public void UpdateOnscreenDisplayPanel()
 {
     if (SelectedSegmentId == 0)
     {
         // Select mode
         var items = new List <OsdItem>();
         items.Add(new ModeDescription(localizedText: T("VR.OnscreenHint.Mode:Select segment")));
         OnscreenDisplay.Display(items);
     }
     else
     {
         // Modify traffic light settings
         var items = new List <OsdItem>();
         items.Add(new ModeDescription(localizedText: T("VR.OnscreenHint.Mode:Toggle restrictions")));
         items.Add(
             item: new Shortcut(
                 keybindSetting: KeybindSettingsBase.RestoreDefaultsKey,
                 localizedText: T("VR.Label:Revert to default")));
         items.Add(OnscreenDisplay.RightClick_LeaveSegment());
         OnscreenDisplay.Display(items);
     }
 }