FC3Editor.Tools.ToolObject.SelectAction.OnMouseEvent C# (CSharp) Метод

OnMouseEvent() публичный Метод

public OnMouseEvent ( Editor mouseEvent, MouseEventArgs mouseEventArgs ) : bool
mouseEvent FC3Editor.Nomad.Editor
mouseEventArgs MouseEventArgs
Результат bool
            public override bool OnMouseEvent(Editor.MouseEvent mouseEvent, MouseEventArgs mouseEventArgs)
            {
                if (mouseEvent == Editor.MouseEvent.MouseUp)
                {
                    Vec2 arg_11_0 = Editor.Viewport.NormalizedMousePos;
                    bool flag = (Control.ModifierKeys & Keys.Control) != Keys.None;
                    bool flag2 = (Control.ModifierKeys & Keys.Alt) != Keys.None;
                    bool flag3 = (Control.ModifierKeys & Keys.Shift) != Keys.None;
                    EditorObjectSelection editorObjectSelection = EditorObjectSelection.Create();
                    if (flag || flag3 || flag2)
                    {
                        this.m_context.m_selection.Clone(editorObjectSelection, false);
                    }
                    EditorObject gizmoObject = EditorObject.Null;
                    RectangleF dragRectangle = this.DragRectangle;
                    if (this.IsDragRectangle(dragRectangle))
                    {
                        EditorObjectSelection selection;
                        if (flag || flag2)
                        {
                            selection = EditorObjectSelection.Create();
                        }
                        else
                        {
                            selection = editorObjectSelection;
                        }
                        ObjectManager.GetObjectsFromScreenRect(selection, this.DragRectangle);
                        if (flag)
                        {
                            editorObjectSelection.ToggleSelection(selection);
                            selection.Dispose();
                        }
                        else
                        {
                            if (flag2)
                            {
                                editorObjectSelection.RemoveSelection(selection);
                                selection.Dispose();
                            }
                        }
                    }
                    else
                    {
                        Vec3 vec;
                        EditorObject objectFromScreenPoint = ObjectManager.GetObjectFromScreenPoint(Editor.Viewport.NormalizedMousePos, out vec);
                        if (objectFromScreenPoint.IsValid)
                        {
                            this.m_context.SelectObject(editorObjectSelection, objectFromScreenPoint);
                            gizmoObject = objectFromScreenPoint;
                        }
                    }
                    this.m_context.SetSelection(editorObjectSelection, gizmoObject);
                    base.ReleaseInput();
                }
                return false;
            }