// when a button is clicked, canvases all around change. public void SetObjsActive(GameObject btnClicked) { foreach (GameObject[] objArr in mapScript.allButtons) { // changing buttons on the "select deck to learn" canvas if (btnClicked == objArr[0]) { mapCanvasNeeded = objArr[1]; objArr[1].SetActive(true); // changing buttons/information on maps if (objArr.Length != 2) { GameObject buttonObj = GameObject.Find(objArr[2].name); ButtonClick bc = buttonObj.GetComponent <ButtonClick>(); bc.setOnlyThisActiveOrNot(true); } } else { objArr[1].SetActive(false); } } mapCanvasNeeded.SetActive(true); }