public void checkForMatches() { Debug.Log("Checking for Matches."); foreach (GameObject orb in orbs) { Orb orb_S = orb.GetComponent <Orb>(); Orb nextOrb = null; GameObject[] tmp = new GameObject[2]; //horizontal check if (!checkIfEnd_Hor(orb_S.getOrbIndex())) { nextOrb = findOrbByIndex(orb_S.getOrbIndex() + 1); } if (nextOrb != null) { if (orb_S.getOrbColor().Equals(nextOrb.getOrbColor())) { tmp[0] = orb_S.gameObject; tmp[1] = nextOrb.gameObject; if (orb_S.getOrbColor().Equals("red")) { matches_red_h.Add(tmp); } if (orb_S.getOrbColor().Equals("blue")) { matches_blue_h.Add(tmp); } if (orb_S.getOrbColor().Equals("green")) { matches_green_h.Add(tmp); } if (orb_S.getOrbColor().Equals("yellow")) { matches_yellow_h.Add(tmp); } } } //vertical check if (!checkIfEnd_Vert(orb_S.getOrbIndex())) { nextOrb = findOrbByIndex(orb_S.getOrbIndex() + 1); } if (nextOrb != null) { if (orb_S.getOrbColor().Equals(nextOrb.getOrbColor())) { tmp[0] = orb_S.gameObject; tmp[1] = nextOrb.gameObject; if (orb_S.getOrbColor().Equals("red")) { matches_red_v.Add(tmp); } if (orb_S.getOrbColor().Equals("blue")) { matches_blue_v.Add(tmp); } if (orb_S.getOrbColor().Equals("green")) { matches_green_v.Add(tmp); } if (orb_S.getOrbColor().Equals("yellow")) { matches_yellow_v.Add(tmp); } } } } }