private void CheckCrossingIndex()
        {
            if (controlRowCol.GetCurrentHoverCharacter().IsCrossingIndexChar())
            {
                for (int i = 0; i < currentRowCols.Length; i++)
                {
                    if (currentRowCols[i] == null)
                    {
                        currentRowCols[i] = controlRowCol.GetCurrentHoverCharacter().GetLinkedRowCol();

                        currentLinkingRowCol = controlRowCol.GetCurrentHoverCharacter().GetLinkedRowCol();

                        currentLinkingRowCol.gameObject.SetActive(true);

                        currentLinkingRowCol.GetCurrentHoverCharacter().ToggleFinger(false);

                        currentLinkingCrosswordChar = controlRowCol.GetCurrentHoverCharacter().GetLinkedCrosswordChar();
                    }
                    else
                    {
                        continue;
                    }
                }
                CalculateMovementDirection();
            }
        }
        private void ClearCrossingInformation()
        {
            for (int i = 0; i < currentRowCols.Length; i++)
            {
                currentRowCols[i] = null;
            }

            currentLinkingRowCol = null;

            currentLinkingCrosswordChar = null;
        }
        private void InitializeCrossword()
        {
            controlRowCol = allRowCols[0];

            currentRowCols[0] = controlRowCol;

            controlRowCol.gameObject.SetActive(true);

            controlRowCol.SetCurrentHoverCharacter(0);

            controlRowColNumOfChars = controlRowCol.GetNumCharSlots();

            CalculateMovementDirection();
        }
        private void SetControlRowCol(int callingDirection)
        {
            controlRowCol.GetCurrentHoverCharacter().ToggleFinger(false);

            controlRowCol.gameObject.SetActive(false);

            int hoverCharacterIndexToSet = 0;

            for (int i = 0; i < currentLinkingRowCol.GetCrosswordChars().Length; i++)
            {
                if (currentLinkingRowCol.GetCrosswordChars()[i] == currentLinkingCrosswordChar)
                {
                    hoverCharacterIndexToSet = i;
                    break;
                }
            }

            controlRowCol = currentLinkingRowCol;

            controlRowCol.gameObject.SetActive(true);

            SetControlRowColCurrentHoverIndex(hoverCharacterIndexToSet);

            ClearCrossingInformation();

            movementDirection = controlRowCol.GetMovementDirection();

            currentRowCols[0] = controlRowCol;

            controlRowColNumOfChars = controlRowCol.GetNumCharSlots();

            //return control back to the requested direction of movement
            //1  returns control to vertical and 2 returns control to horizontal
            switch (callingDirection)
            {
            case 1:
                VerticallyMoveSelector();
                break;

            case 2:
                HorizontallyMoveSelector();
                break;

            default:
                break;
            }

            exchangingControlRowCol = false;
        }