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); } } } }