Ejemplo n.º 1
0
        private IMouseInteractable GetMouseInteractionSource(Vector2 mousePosition)
        {
            IMouseInteractable source = null;

            foreach (var socket in _canvas.GetSockets())
            {
                source = socket.Editor().IsMouseOver(mousePosition);
                if (source != null)
                {
                    return(source);
                }
            }
            foreach (Node node in _canvas.Graph.NodeList)
            {
                source = node.Editor().IsMouseOver(mousePosition);
                if (source != null)
                {
                    return(source);
                }
            }

            foreach (var edge in _canvas.Graph.Editor().Edges)
            {
                source = edge.Editor().IsMouseOver(mousePosition);
                if (source != null)
                {
                    return(source);
                }
            }

            foreach (var @group in _canvas.Graph.GroupList)
            {
                source = @group.Editor().IsMouseOver(mousePosition);
                if (source != null)
                {
                    return(source);
                }
            }

            return(null);
        }