Esempio n. 1
0
    public void Click()
    {
        if (quadro.creatingConnection != null)                 // Se eu clico com conexão
        {
            if (quadro.creatingConnection.objectA == outerPin) //Conectando comigo msm
            {
                Destroy(quadro.creatingConnection.gameObject);
                quadro.creatingConnection = null;
            }
            else  // Conectando com outro objeto

            {
                bool exists = false; //pergunta se já existe um objeto com essa mesma conexão

                for (int i = 0; i < linhaGroup.transform.childCount; i++)
                {
                    ItemConnection linha = linhaGroup.transform.GetChild(i).gameObject.GetComponent <ItemConnection>();
                    if (linha == quadro.creatingConnection)
                    {
                        continue;
                    }

                    if (linha.objectA == quadro.creatingConnection.objectA && linha.objectB == outerPin)
                    {
                        exists = true;
                    }
                    else if (linha.objectA == outerPin && linha.objectB == quadro.creatingConnection.objectA)
                    {
                        exists = true;
                    }
                }

                if (!exists)
                {
                    quadro.creatingConnection.objectB   = outerPin;
                    quadro.creatingConnection.isOnMouse = false;
                    quadro.creatingConnection           = null;
                }
                else
                {
                    Destroy(quadro.creatingConnection.gameObject);
                    quadro.creatingConnection = null;
                }
            }
        }
        else if (quadro.checkSelection)  //Se tá com seleção de check ativado
        {
            selected = !selected;
        }
        else
        {
            if (!draggin)
            {
                quadro.OpenMenu(this, originalSlot);
            }
        }
    }