private void SetQuestionTile(CrosswordPosition questionPos, CrosswordPositionAndOrientation answerStartTile, Tuple <int, int> answerLessOrEqual) { var intersections = GetIntersections(answerStartTile); var crossDatabaseItem = mDatabase.GetRandomItem(answerLessOrEqual.value1, answerLessOrEqual.value2, GetIntersectionTuples(intersections)); if (crossDatabaseItem == null) { Debug.LogWarning( string.Format("Impossible to find word with less than: {0} or equal: {1} characters, and with intersections: {2}", answerLessOrEqual.value1, answerLessOrEqual.value2, IntersectionToString(intersections) ) ); return; } var crossItem = new CrosswordTileQuestionItem(); crossItem.orientation = answerStartTile.orientation; crossItem.element = crossDatabaseItem.question; crossItem.startPositionAndOrientation = answerStartTile; mCrossword.SetTile(questionPos, crossItem); SetAnswerTiles(crossItem, crossDatabaseItem, answerStartTile); }