public int GenerateNumberForLetter(BingoLetter letter) { var letterIndex = letter.GetHashCode(); print("letterIndex " + letterIndex); return(0); }
public BingoBall(BingoLetter letter, int number) { if (!BingoBallNumberValidator.IsBingoBallNumberValid(number)) { throw new Exception("Unable to create bingo ball for number " + number); } Letter = letter; Number = number; }
private void SetSpriteForLetter(BingoLetter letter, Sprite sprite) { if (_bingoLetterToSprite.ContainsKey(letter)) { _bingoLetterToSprite[letter] = sprite; } else { _bingoLetterToSprite.Add(letter, sprite); } }
private void EnqueueNewBall(BingoLetter letter, int number) { var bb = _bingoBallObjectPool.GetBingoBallView(); if (bb == null) { throw new Exception("there are not enough polled objects"); } bb.ApplyBingoBallModel(new BingoBall(letter, number)); bb.ApplyBallSprite(_bingoLetterToSprite[letter]); _ballsQueue.Enqueue(bb); bb.Appear(_generatedBallAppearancePosition); }
public int GenerateUniqueNumberForLetter(BingoLetter letter) { var letterIndex = letter.GetHashCode(); var numbersList = _allNumListsArr[letterIndex]; var randomIndexForPickNumber = Random.Range(0, numbersList.Count); var randomNumber = numbersList[randomIndexForPickNumber]; numbersList.RemoveAt(randomIndexForPickNumber); return(randomNumber); }
public void Initialize(BingoLetter columnLetter, int verticalIndex, int number) { if (_initialized) { throw new InvalidOperationException("CardNumberView already initialzied"); } _columnLetter = columnLetter; _verticalIndex = verticalIndex; _number = number; _defaultTextColot = GetText().color; _highlightedTextColor = Color.white; _normalColor = GetButton().colors.normalColor; GetButton().onClick.AddListener(Clicked); GetText().text = _number.ToString(CultureInfo.InvariantCulture); _initialized = true; }
/// <summary> /// Generates unique number according specified letter /// </summary> /// <param name="letter"></param> /// <returns></returns> public int GenerateUniqueNumberForLetter(BingoLetter letter) { if (!CanGenerateNumberForLetter(letter)) { throw new Exception("All numbers for letter " + letter + " were already generated"); } var letterIndex = BingoLetterCaster.BingoLetterToInt(letter); var numbersList = _bingoNumberListsArray[letterIndex]; var randomIndexForPickNumber = Random.Range(0, numbersList.Count); // Pick number by random index in numbersList var randomNumber = numbersList[randomIndexForPickNumber]; // Remove picked number from list (we don't want generate this number again in further calls // to GenerateUniqueNumberForLetter() method) numbersList.RemoveAt(randomIndexForPickNumber); return(randomNumber); }
public CardNumberUnmarkedEventArgs(BingoLetter numberColumnLetter, int numberVerticalIndex) { NumberColumnLetter = numberColumnLetter; NumberVerticalIndex = numberVerticalIndex; }
/// <summary> /// Checks if it's possible to generate number for specified letter /// </summary> /// <param name="letter"></param> /// <returns></returns> public bool CanGenerateNumberForLetter(BingoLetter letter) { var letterIndex = BingoLetterCaster.BingoLetterToInt(letter); return(_bingoNumberListsArray[letterIndex].Count > 0); }
public void Enqueue(BingoLetter letter, int number) { DequeueLastBallIfExists(); PromoteExistingBalls(); EnqueueNewBall(letter, number); }
public bool CanGenerateNumberForLetter(BingoLetter letter) { var letterIndex = letter.GetHashCode(); return(_allNumListsArr[letterIndex].Count > 0); }
public BingoBall(BingoLetter letter, int number) { Letter = letter; Number = number; }
public static string BingoLetterToString(BingoLetter letter) { return(_bingoLetterToString[letter]); }
public static int BingoLetterToInt(BingoLetter letter) { return(_bingoLetterToInt[letter]); }