Пример #1
0
 public void OnPointerClick(PossibleCard ownedCard, Image image)
 {
     if (singleNPNPageHolder.activeSelf)
     {
         // from NPN to singleCard
         PlayerStats.SetTutorialStepCompleted(TutorialStep.ZoomCard);
         tutorialZoomCardPanel.SetActive(false);
         singleCardImage.sprite = image.sprite;
         currentSingle = ownedCard;
         SetFavoriteButtonColor(ownedCard.id.Equals(PlayerStats.GetFavorite(ownedCard.nationalPokedexNumber)));
         favoriteButton.SetActive(true);
         tutorialMakeFavoritePanel.SetActive(PlayerStats.GetShowTutorialStep(TutorialStep.MakeFavorite));
         singleNPNPageHolder.SetActive(false);
         npnProgressText.gameObject.SetActive(false);
         singleCard.SetActive(true);
     }
     else
     {
         // for people clicking before swiping
         PlayerStats.SetTutorialStepCompleted(TutorialStep.SwipeCollection);
         tutorialSwipeCollectionPanel.SetActive(false);
         // for people with the 8 in 15000 chance AND clicking before swiping
         tutorialTurnInDoublesPanel.SetActive(false);
         // from generation to NPN
         SingleNPNStart(ownedCard.nationalPokedexNumber);
     }
 }
Пример #2
0
    private void FillPage(int pageNumber, GameObject page)
    {
        for (int i = 0; i < pageSize; i++)
        {
            int nationalPokedexNumber = CardFactory.startNPNOfGeneration[GameManager.SelectedGeneration] + i + pageNumber * pageSize;
            if (nationalPokedexNumber < CardFactory.startNPNOfGeneration[GameManager.SelectedGeneration] + CardFactory.numberOfNPNsInGeneration[GameManager.SelectedGeneration])
            {
                if (generation.cards.ContainsKey(nationalPokedexNumber))
                { // we own cards of this NationalPokedexNumber
                    Dictionary<string, PossibleCard> cardsOfNumber = generation.cards[nationalPokedexNumber];
                    string favorite = PlayerStats.GetFavorite(nationalPokedexNumber);
                    PossibleCard lastFoundOrFavorite = null;
                    if (favorite != null)
                    {
                        lastFoundOrFavorite = cardsOfNumber[favorite];
                    }
                    if (lastFoundOrFavorite == null)
                    {
                        lastFoundOrFavorite = cardsOfNumber.Values.OrderBy(p => p.foundOn).Last();
                    }
                    PlaceSmallCard(lastFoundOrFavorite, page);
                }
                else if (CardFactory.GetNumberOfAvailableCards(GameManager.SelectedGeneration, nationalPokedexNumber) > 0)
                { // leave empty placeholder? show greyed-out back?
                    PlaceEmptyPanel(nationalPokedexNumber, page);
                } else
                {
                    PlaceUnavailablePanel(nationalPokedexNumber, page);
                }

                LayoutRebuilder.ForceRebuildLayoutImmediate((RectTransform)page.transform);
            }
        }
    }