private void MakeMove(Cell from, Cell to) { //Don't forget, that you must control the correctness of moves! //TODO: check the correctness. var fromBlockPosition = boardStorage.GetBlockPosition(from); var fromBlock = boardStorage.GetBlock(fromBlockPosition); var currentBlock = boardManager.GetCurrentBlock(); if (fromBlock != currentBlock) { boardManager.SetActiveBlock(fromBlockPosition); } var positionFrom = boardStorage.GetPositionOnBoard(from); var positionTo = boardStorage.GetPositionOnBoard(to); inputListener.ProcessBoardClick(positionFrom.x, positionFrom.y); inputListener.ProcessBoardClick(positionTo.x, positionTo.y); }