Exemple #1
0
    void MoveBlock(BlockEvent blockToMove, float duration)
    {
        if ((blockToMove.coord - emptyBlock.coord).sqrMagnitude == 1)
        {
            blocks[blockToMove.coord.x, blockToMove.coord.y] = emptyBlock;
            blocks[emptyBlock.coord.x, emptyBlock.coord.y]   = blockToMove;

            Vector2Int targetCoord = emptyBlock.coord;
            emptyBlock.coord  = blockToMove.coord;
            blockToMove.coord = targetCoord;

            Vector3 targetPosition = emptyBlock.transform.position;
            emptyBlock.transform.position = blockToMove.transform.position;
            blockToMove.MoveToPosition(targetPosition, duration);
            blockIsMoving = true;
        }
    }