Exemplo n.º 1
0
    private void OnMouseMove(Vector2 touchPos, Transform hitTransform)
    {
        if (!ProcessUserInput)
        {
            return;
        }
        if (touchStartNode && currentLine)
        {
            currentLine.SetPositions(touchStartNode.transform.position, touchPos, StaticValues.ColorByIndex[touchStartNode.ColorId - 1], StaticValues.ColorByIndex[touchStartNode.ColorId - 1]);

            if (hitTransform)
            {
                if (hitTransform.tag == "Node")
                {
                    var node2 = hitTransform.GetComponent <Node>();
                    if (touchStartNode.Id != node2.Id && node2.GraphId == graph.Id)
                    {
                        if (!Graph.IsNodesConnectedMatrix(graph, touchStartNode.Index, node2.Index))
                        {
                            currentLine.SetPositions(touchStartNode.transform.position, hitTransform.position, StaticValues.ColorByIndex[touchStartNode.ColorId - 1], StaticValues.ColorByIndex[node2.ColorId - 1]);
                        }
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
    private void AddElementToSelection(BoardElement element)
    {
        if (SelectedElements.Count > 0)
        {
            float pitch = 1.0f + SelectedElements.Count * 0.1f;
        }

        SelectedElements.Add(element);

        connectionLine.Color = element.Color;

        connectionLine.SetPositions(SelectedElements);

        GameEvents.OnSelectionChanged.Invoke(SelectedElements.Count);
    }
Exemplo n.º 3
0
 private void OnMouseDown(Vector2 touchPos, Transform hitTransform)
 {
     if (!ProcessUserInput || remainingLineCount <= 0)
     {
         return;
     }
     if (hitTransform && hitTransform.tag == "Node" && hitTransform.GetComponent <Node>().GraphId == graph.Id)
     {
         touchStartNode      = hitTransform.GetComponent <Node>();
         currentLine         = Instantiate(ConnectionLinePrefab, new Vector2(0, 0), Quaternion.identity, transform);
         currentLine.Scale   = Scale;
         currentLine.GraphId = graph.Id;
         currentLine.SetPositions(touchStartNode.transform.position, touchPos, StaticValues.ColorByIndex[touchStartNode.ColorId - 1], StaticValues.ColorByIndex[touchStartNode.ColorId - 1]);
     }
 }