Ejemplo n.º 1
0
    private void changeEffectsState(Arista a, bool canDeactivate)
    {
        Cable spriteToActive = cableToActive.GetComponent <Cable>();

        if (spriteToActive.arista._1().Equals(a._1()) && spriteToActive.arista._2().Equals(a._2()) && !canDeactivate)
        {
            spriteToActive.changeColliderState(false);
            for (int i = 0; i < spriteToActive.transform.childCount; i++)
            {
                spriteToActive.transform.GetChild(i).gameObject.SetActive(true);
            }
        }
        else
        {
            Debug.Log("Desactivamos los efectos");
            //Desactivamos todos los efectos porque nos hemos equivocado
            Vertex[] vert = FindObjectsOfType <Vertex>();
            for (int i = 0; i < vert.Length; i++)
            {
                vert[i].depush();
            }
            Cable[] allCables = FindObjectsOfType <Cable>();
            for (int i = 0; i < allCables.Length; i++)
            {
                allCables[i].changeColliderState(true);
                for (int j = 0; j < allCables[i].transform.childCount; j++)
                {
                    allCables[i].transform.GetChild(j).gameObject.SetActive(false);
                }
            }
        }
    }