private void LoadBoardSlots()
    {
        BoardData           boardData       = ScrabbleLogicManager.Instance.Board;
        BoardSlotController slotPrefab      = _boardController.slotPrefab;
        Vector2             boardSize       = new Vector3(ScrabbleConstants.BOARD_SLOT_DISTANCE * boardData.Size, ScrabbleConstants.BOARD_SLOT_DISTANCE * boardData.Size, 0);
        Vector2             slotSize        = new Vector2(ScrabbleConstants.BOARD_SLOT_DISTANCE, ScrabbleConstants.BOARD_SLOT_DISTANCE);
        Vector3             initialPosition = new Vector3(-(boardSize.x / 2) + (slotSize.x / 2), -(boardSize.y / 2) + (slotSize.y / 2), 0);
        Vector3             currentPosition = initialPosition;

        for (int x = 0; x < boardData.Size; x++)
        {
            for (int y = 0; y < boardData.Size; y++)
            {
                BoardSlotController newInstance = GameObject.Instantiate(slotPrefab);
                newInstance.transform.SetParent(_boardController.transform, true);
                //newInstance.transform.localPosition = Vector3.zero;
                newInstance.transform.localPosition = currentPosition;
                newInstance.gameObject.SetActive(true);

                _boardController.Slots.Add(newInstance);

                currentPosition.y += ScrabbleConstants.BOARD_SLOT_DISTANCE;
            }

            currentPosition.y  = initialPosition.y;
            currentPosition.x += ScrabbleConstants.BOARD_SLOT_DISTANCE;
        }
    }
    private void SnapToBoard()
    {
        List <BoardSlotController> slots       = ScrabbleGame.Instance.board.Slots;
        BoardSlotController        closestSlot = null;
        float closestDistance = float.MaxValue;

        for (int x = 1; x < slots.Count; x++)
        {
            BoardSlotController currentSlot = slots[x];
            float currentSlotDistance       = Vector2.Distance(currentSlot.transform.position, _chipController.transform.position);

            if (currentSlot.Chip == null && currentSlotDistance < closestDistance)
            {
                closestSlot     = currentSlot;
                closestDistance = currentSlotDistance;
            }
        }

        if (closestSlot != null)
        {
            closestSlot.Chip = _chipController;
        }
    }