private void CreateCells()
        {
            Transform container = (new GameObject("Cells")).transform;

            container.transform.parent        = transform;
            container.transform.localPosition = new Vector3(-cellOffset, -cellOffset, 0f);

            for (int row = 0; row < ROWS; row++)
            {
                for (int col = 0; col < COLS; col++)
                {
                    GameObject go   = (GameObject)Instantiate(cellPrefab, Vector3.zero, Quaternion.identity);
                    Cell       cell = go.GetComponent <Cell>();

                    cell.transform.parent        = container;
                    cell.transform.localPosition = new Vector3(col * cellOffset, row * cellOffset, 0f);

                    cell.Init(row, col, OnCellClick);

                    cells[row, col] = cell;
                }
            }
        }