Esempio n. 1
0
 public override void KeyUp(KeyEvent ev)
 {
     if (DefaultTool != null)
     {
         DefaultTool.KeyUp(ev);
     }
 }
Esempio n. 2
0
        public override void MouseDown(MouseEvent ev)
        {
            IDrawingView view = ev.View;

            SetAnchorCoords(ev.X, ev.Y);
            View = view;

            Gdk.EventType type = ev.GdkEvent.Type;
            if (type == EventType.TwoButtonPress)
            {
                CreateUndoActivity();
                _showingWidget        = true;
                _textview.Buffer.Text = ((MultiLineTextFigure)Figure).Text;

                View.AddWidget(_textview, 0, 0);
                CalculateTextViewSize();

                _textview.Show();
                _textview.GrabFocus();

                //selects all
                _textview.Buffer.SelectRange(_textview.Buffer.StartIter, _textview.Buffer.EndIter);

                return;
            }
            DefaultTool.MouseDown(ev);
        }
Esempio n. 3
0
 public override void MouseDrag(MouseEvent ev)
 {
     if (DefaultTool != null)
     {
         DefaultTool.MouseDrag(ev);
     }
 }
        public static void Prefix(InfoMode mode, SubInfoMode subMode)
        {
            if (!RoadSelectionPanels.Root)
            {
                return;
            }

            if (RoadSelectionPanels.Root.RoadWorldInfoPanelExt != null)
            {
                RoadSelectionPanels.Root.RoadWorldInfoPanelExt.isVisible =
                    mode == InfoMode.None ||
                    RoadSelectionUtil.IsNetAdjustMode(mode, (int)subMode);
            }
            if (RoadSelectionUtil.IsNetAdjustMode(mode, (int)subMode))
            {
                // UI to be handled by Default tool
                ModUI.Instance.CloseMainMenu();

                SimulationManager.instance.m_ThreadingWrapper.QueueMainThread(() => {
                    DefaultTool.OpenWorldInfoPanel(
                        Singleton <InstanceManager> .instance.GetSelectedInstance(),
                        Input.mousePosition);
                });
            }
            else
            {
                SimulationManager.instance.m_ThreadingWrapper.QueueMainThread(RoadSelectionPanels.RoadWorldInfoPanel.Hide);
            }
        }
Esempio n. 5
0
 public override void MouseDrag(MouseEvent ev)
 {
     if (!_showingWidget)
     {
         DefaultTool.MouseDrag(ev);
     }
 }
Esempio n. 6
0
        private void OnMouseDown(UIComponent component, UIMouseEventParameter p)
        {
            VehicleListBoxRow vehicleListBoxRow = component as VehicleListBoxRow;
            bool zoomIn = Input.GetKey(KeyCode.LeftShift) | Input.GetKey(KeyCode.RightShift);

            if ((int)vehicleListBoxRow.VehicleID != 0 && p.buttons == UIMouseButton.Right)
            {
                InstanceID id = new InstanceID();
                id.Vehicle = vehicleListBoxRow.VehicleID;
                ToolsModifierControl.cameraController.SetTarget(id, ToolsModifierControl.cameraController.transform.position, zoomIn);
                DefaultTool.OpenWorldInfoPanel(id, ToolsModifierControl.cameraController.transform.position);
            }
            else
            {
                if (p.buttons != UIMouseButton.Left)
                {
                    return;
                }
                // ISSUE: reference to a compiler-generated field
                if (this.eventRowShiftClick != null && zoomIn)
                {
                    this.PlayClickSound(p.source);
                    // ISSUE: reference to a compiler-generated field
                    this.eventRowShiftClick(component, p);
                    if (vehicleListBoxRow.IsSelected)
                    {
                        return;
                    }
                }
                vehicleListBoxRow.IsSelected = !vehicleListBoxRow.IsSelected;
                this.OnSelectedItemsChanged();
            }
        }
Esempio n. 7
0
 public override void Activate()
 {
     base.Activate();
     if (DefaultTool != null)
     {
         DefaultTool.Activate();
     }
 }
        public void GoToInstance(InstanceID id, Vector3 pos, bool openInfoPanel = false)
        {
            pos.y = Camera.main.transform.position.y;

            ToolsModifierControl.cameraController.SetTarget(id, pos, true);
            Singleton <SimulationManager> .instance.m_ThreadingWrapper.QueueMainThread(() => {
                DefaultTool.OpenWorldInfoPanel(id, pos);
            });
        }
Esempio n. 9
0
        /// <summary>
        /// Handles "lookAt" message from client.
        /// </summary>
        /// <param name="msg">Message.</param>
        protected void HandleLookAt(ClientMessage msg)
        {
            Vector3    pos;
            InstanceID id  = default(InstanceID);
            var        cam = ToolsModifierControl.cameraController;

            cam.ClearTarget();
            if (msg.HasKey("building"))
            {
                id.Building = (ushort)msg.GetInt("building");
                pos         = BuildingManager.instance.m_buildings.m_buffer[id.Building].m_position;
            }
            else if (msg.HasKey("vehicle"))
            {
                id.Vehicle = (ushort)msg.GetInt("vehicle");
                pos        = VehicleManager.instance.m_vehicles.m_buffer[id.Vehicle].GetLastFramePosition();
            }
            else if (msg.HasKey("parkedVehicle"))
            {
                id.ParkedVehicle = (ushort)msg.GetInt("parkedVehicle");
                pos = VehicleManager.instance.m_parkedVehicles.m_buffer[id.ParkedVehicle].m_position;
            }
            else if (msg.HasKey("segment"))
            {
                id.NetSegment = (ushort)msg.GetInt("segment");
                pos           = NetManager.instance.m_segments.m_buffer[id.NetSegment].m_bounds.center;
            }
            else if (msg.HasKey("node"))
            {
                id.NetNode = (ushort)msg.GetInt("node");
                pos        = NetManager.instance.m_nodes.m_buffer[id.NetNode].m_position;
            }
            else if (msg.HasKey("citizenInstance"))
            {
                id.CitizenInstance = (ushort)msg.GetInt("citizenInstance");
                pos = CitizenManager.instance.m_instances.m_buffer[id.CitizenInstance].GetLastFramePosition();
            }
            else if (msg.HasKey("position"))
            {
                cam.m_targetPosition = msg.GetVector3("position");
                return;
            }
            else
            {
                throw new ArgumentException("No target specified");
            }
            bool zoom      = !msg.HasKey("zoom") || msg.GetBool("zoom");
            bool openPanel = !msg.HasKey("openInfoPanel") || msg.GetBool("openInfoPanel");

            cam.SetTarget(id, pos, zoom);
            if (openPanel)
            {
                SimulationManager.instance.m_ThreadingWrapper.QueueMainThread(() => {
                    DefaultTool.OpenWorldInfoPanel(id, pos);
                });
            }
        }
Esempio n. 10
0
    // Use this for initialization
    void Awake()
    {
        var tools = GetComponents <Tool>();

        foreach (var tool in tools)
        {
            tool.enabled = false;
        }
        defaultTool         = gameObject.GetComponent <DefaultTool>();
        activeTool          = defaultTool;
        defaultTool.enabled = true;
    }
Esempio n. 11
0
        private void OnFishFarmMarkerClicked(UIComponent component, UIMouseEventParameter eventParam)
        {
            component.Unfocus();
            if ((int)_fishFarmDropDown.SelectedItem == 0)
            {
                return;
            }
            InstanceID id = new InstanceID();

            id.Building = _fishFarmDropDown.SelectedItem;
            ToolsModifierControl.cameraController.SetTarget(id, ToolsModifierControl.cameraController.transform.position, Input.GetKey(KeyCode.LeftShift) | Input.GetKey(KeyCode.RightShift));
            DefaultTool.OpenWorldInfoPanel(id, ToolsModifierControl.cameraController.transform.position);
        }
Esempio n. 12
0
        public override void MouseDown(MouseEvent ev)
        {
            View = ev.View;

            Gdk.EventType type = ev.GdkEvent.Type;

            if (type == EventType.TwoButtonPress)
            {
                StartEditing();
                return;
            }
            DefaultTool.MouseDown(ev);
        }
        private void SelectSub(UIComponent component, UIMouseEventParameter param)
        {
            if (_idList == null)
            {
                return;
            }
            var buildingId = _idList[selectedIndex];
            var building   = BuildingManager.instance.m_buildings.m_buffer[buildingId];

            if (building.Info != null)
            {
                var localeField = typeof(LocaleManager).GetField("m_Locale", BindingFlags.NonPublic | BindingFlags.Instance);
                var locale      = (Locale)localeField.GetValue(SingletonLite <LocaleManager> .instance);
                var key         = new Locale.Key {
                    m_Identifier = "BUILDING_TITLE", m_Key = building.Info.name
                };
                if (!locale.Exists(key))
                {
                    locale.AddLocalizedString(key, building.Info.name);
                }
                key = new Locale.Key {
                    m_Identifier = "BUILDING_DESC", m_Key = building.Info.name
                };
                if (!locale.Exists(key))
                {
                    locale.AddLocalizedString(key, string.Empty);
                }
                key = new Locale.Key {
                    m_Identifier = "BUILDING_SHORT_DESC", m_Key = building.Info.name
                };
                if (!locale.Exists(key))
                {
                    locale.AddLocalizedString(key, string.Empty);
                }
            }
            var button = GameObject.Find("RelocateAction").GetComponent <UIButton>();

            if (selectedIndex == 0)
            {
                button.Show();
            }
            else
            {
                button.Hide();
            }
            DefaultTool.OpenWorldInfoPanel(new InstanceID {
                Building = buildingId
            }, new Vector2(0, 0));
        }
Esempio n. 14
0
        public override void MouseDown(MouseEvent ev)
        {
            View = ev.View;

            Gdk.EventType type = ev.GdkEvent.Type;

            if (type == EventType.TwoButtonPress)
            {
                CreateUndoActivity();
                _showingWidget = true;
                _entry.Text    = (Figure as SimpleTextFigure).Text;

                View.AddWidget(_entry, 0, 0);
                CalculateSizeEntry();

                _entry.GrabFocus();
                _entry.Show();

                return;
            }
            DefaultTool.MouseDown(ev);
        }
Esempio n. 15
0
        public override void MouseDown(MouseEvent ev)
        {
            SetAnchorCoords(ev.X, ev.Y);
            IDrawingView view = ev.View;

            View = view;

            Gdk.EventType type = ev.GdkEvent.Type;
            if (type == EventType.TwoButtonPress)
            {
                PolyLineFigure connection = (PolyLineFigure)Figure;
                connection.SplitSegment(ev.X, ev.Y);
                view.ClearSelection();
                view.AddToSelection(Figure);
                _handle = view.FindHandle(ev.X, ev.Y) as PolyLineHandle;
                ((Gtk.Widget)view).GdkWindow.Cursor = _handle.CreateCursor();
                _handle.InvokeStart(ev.X, ev.Y, ev.View);
                CreateUndoActivity();
            }
            else
            {
                DefaultTool.MouseDown(ev);
            }
        }