void OnClick(SwipeComponent obj) { if (!isSwiping) { MatchElement clickedElement = (MatchElement)obj; if (selectedElement == null) { selectedElement = clickedElement; selectedElement.StartTweenScale(); } else { // одинаковый ряд, проверяем соседство в колонке if (selectedElement.match.Y == clickedElement.match.Y && (Mathf.Abs(selectedElement.match.X - clickedElement.match.X) == 1)) { SwipeObjects(selectedElement, clickedElement); } // одинаковая колонка, проверяем соседство в ряду else if (selectedElement.match.X == clickedElement.match.X && (Mathf.Abs(selectedElement.match.Y - clickedElement.match.Y) == 1)) { SwipeObjects(selectedElement, clickedElement); } // нет соседства, скидываем выбор с первой фишки else { selectedElement.StopTween(); selectedElement = clickedElement; selectedElement.StartTweenScale(); } } } }
void OnRightSwipe(SwipeComponent obj) { if (!isSwiping) { MatchElement from = (MatchElement)obj; // убедимся, что фишка не выходит за пределы поля if (from.match.X < GlobalGameSettings.Instance.Col) { //достаем обект с которим будем матчить. MatchElement to = currentMatchObjects[from.match.X + 1, from.match.Y]; SwipeObjects(from, to); } } }
void OnDownSwipe(SwipeComponent obj) { if (!isSwiping) { MatchElement from = (MatchElement)obj; // убедимся, что фишка не выходит за пределы поля if (from.match.Y > 0) { //достаем обект с которим будем матчить. MatchElement to = currentMatchObjects[from.match.X, from.match.Y - 1]; SwipeObjects(from, to); } } }
void OnHideElement(SwipeComponent obj) { reservedObjectsPool.Add((MatchElement)obj); }