Exemplo n.º 1
0
    private void OnMouseDown()
    {
        if (puzzleManager.activeNode != null)
        {
            if (puzzleManager.activeNode == this || connectedNodes.Contains(puzzleManager.activeNode) || connectedNodes.Count >= maxConnections)
            {
                return;
            }

            puzzleManager.activeNode.lineRenderer.SetPosition(0, puzzleManager.activeNode.transform.position);
            puzzleManager.activeNode.lineRenderer.SetPosition(1, transform.position);

            connectedNodes.Add(puzzleManager.activeNode);
            puzzleManager.activeNode.connectedNodes.Add(this);

            UpdateText();
            puzzleManager.activeNode.UpdateText();

            puzzleManager.CheckForWin();



            puzzleManager.activeNode = null;
        }

        else
        {
            if (connectedNodes.Count < maxConnections)
            {
                puzzleManager.activeNode = this;

                GameObject thisLineRenderer = Instantiate(LineRendererPrefab, transform);
                lineRenderer = thisLineRenderer.GetComponent <LineRenderer>();
                lineRenderer.SetPosition(0, puzzleManager.activeNode.transform.position);
            }
        }
    }