private void MakeMove(Vector2 point) { Checker beatedCheker; if (!selectedCheker.MakeAStroke(point, out beatedCheker)) { Debug.LogWarning("Can't make strroke"); return; } selectedCheker.transform.position = transform.TransformPoint(new Vector3(point.x * chekerSize, point.y * chekerSize, 0)); DictionaryChecker[selectedCheker.Position] = null; DictionaryChecker[point] = selectedCheker; selectedCheker.Position = point; if (beatedCheker != null) { DeleteChecker(beatedCheker); if (selectedCheker.Canbeat()) { if (selectedCheker != null) { SelectCell(selectedCheker); } inChainsStroke = true; return; } } if (selectedCheker.ChekerColor == ChekerColor.White) { if (point.y == 8 && !selectedCheker.isQueen) { MakeSelectedCheckerQueen(); } } else if (point.y == 1 && !selectedCheker.isQueen) { MakeSelectedCheckerQueen(); } DeselectChecker(); curentStroke = curentStroke == ChekerColor.White ? ChekerColor.Black : ChekerColor.White; }
public void Initialize(Board board, Vector2 position, ChekerColor color) { this.board = board; Position = position; ChekerColor = color; }