void addAllMatch4s_OnBoard_ToGroup(Unit[,] uTable, List <Unit[]> candidatesGroups) { List <Unit> allUnitsList = BoardUtilities.getAllUnitsList_onTable(uTable); while (allUnitsList.Count > 0) { Unit tempU = allUnitsList [0]; Unit[] match4s_TopRight = BoardUtilities.getmatch4Units_towards_onTable(tempU, new Vector2Int(1, 1), uTable); if (match4s_TopRight != null) { candidatesGroups.Add(match4s_TopRight); foreach (Unit U in match4s_TopRight) { // U.testMark (true);//---------------------------- U.BelongingBlocks++; } BoardUtilities.remove_UnitsInSmallList_FromLargeList(match4s_TopRight, allUnitsList); } else { BoardUtilities.tryRemoveFromGroup(tempU, allUnitsList); } } }