Esempio n. 1
0
 public static void PrepareFirstDeckIfNeededForThePlayerAndGetReadyForSaving(bool forceToPrepare = false)
 {
     if (playerDeckBuilder == null || forceToPrepare)
     {
         playerDeckBuilder = EditorMadeDeckBuilder.CreateEditorMadeDeckBuilder("PlayerDeck");
         int[] cardIndexes = ((EditorMadeDeckBuilder)playerDeckBuilder).GetIndexOfEachCardPrototype();
         PrepareDeckIndexesForSaving(cardIndexes);
     }
 }
Esempio n. 2
0
    public static Card[] GetPreparedCardsForTheEnemy()
    {
        if (enemyDeckBuilder == null)
        {
            const string DEFAULT_DECK_NAME = "SimpleBattleDeck";
            // enemyDeckBuilder = new RandomDeckBuilder(DeckBuilderSuperclass.DEFAULT_DECK_SIZE);
            enemyDeckBuilder = EditorMadeDeckBuilder.CreateEditorMadeDeckBuilder(DEFAULT_DECK_NAME);
        }

        // Apply Map bonus
        Card[] cards = ReplaceTheRandomCards(enemyDeckBuilder.GetDeck());
        if (MapScroller.GetMapLevel() != 1)
        {
            // Level Up 2 times
            for (int c = 0; c < cards.Length; c++)
            {
                cards[c].SumLevelBonus(1);
            }
        }

        // Apply Spot Bonus
        if (MapsCache.SpotToClearAndLevelUpIfPlayerWins != null)
        {
            int spotLevel = MapsCache.SpotToClearAndLevelUpIfPlayerWins.Level;
            if (spotLevel > 0)
            {
                for (int c = 0; c < cards.Length; c++)
                {
                    cards[c].SumLevelBonus(spotLevel);
                }
            }
        }
        else
        {
            Debug.LogWarning("If you started in the battle scene, that's ok. Otherwise, trouble.");
        }

        return(cards);
    }
Esempio n. 3
0
 public static void PrepareEditorMadeDeckForTheEnemy(string deckName)
 {
     enemyDeckBuilder = EditorMadeDeckBuilder.CreateEditorMadeDeckBuilder(deckName);
 }
Esempio n. 4
0
    public override void ExecuteAction()
    {
        if (!quit)
        {
            if (timer < 1.5f)
            {
                timer += TimeFacade.DeltaTime;
            }
            else
            {
                if (popUpOpener.AllPopUpsAreClosed())
                {
                    timer = 0;

                    if (winnerFactory == playerBattleStatesFactory)
                    {
                        switch (CurrentBattleInfo.rewardType)
                        {
                        case BattleReward.NONE:
                        {
                            customPopUpOpener.OpenWithBGM(
                                title: "Congratulations",
                                warningMessage: "You beat those guys. What are you going to do now?",
                                confirmBtnMessage: "Look the map",
                                cancelBtnMessage: "Nothing",
                                onConfirm: QuitBattleAndGoToMap,
                                onCancel: () => { cricketsAudioRequest.RequestPlaying(); },
                                victoryBGMRequest
                                );
                        }
                        break;

                        case BattleReward.CARDS_OF_CLASS:
                        {
                            sceneCanvas.SetActive(false);
                            customPopUpOpener.OpenDisplayingUnblockedCardsOfClass(
                                title: "You beat a Master",
                                warningMessage: ColorHexCodes.BeginWhite + "What about making some recruiting?" + ColorHexCodes.End +
                                ColorHexCodes.Paint(" YOU JUST GOT ONE OF EACH " + enemyDeckClass + " CARDS TO YOUR COLLECTION. ", deckColor),
                                confirmBtnMessage: "Awesome",
                                onConfirm: GiveUnblockedCardsOfClassThenSeeMap,
                                victoryBGMRequest,
                                enemyDeckClass
                                );
                        }
                        break;

                        case BattleReward.SPECIFIC_CARD:
                        {
                            sceneCanvas.SetActive(false);
                            Card[] reward = EditorMadeDeckBuilder.CreateEditorMadeDeckBuilder(rewardDeckName).GetDeck();

                            CustomPopUp.OnBtnClicked onbtn = () => { GiveRewardDeckThenSeeMap(reward); };

                            customPopUpOpener.OpenDisplayingRewardCards(
                                title: "You win!",
                                warningMessage: ColorHexCodes.BeginWhite + "You beat the card challenge." + ColorHexCodes.End +
                                ColorHexCodes.Paint(" YOU GOT A CARD ", deckColor),
                                confirmBtnMessage: "Awesome",
                                onConfirm: onbtn,
                                victoryBGMRequest,
                                cards: reward
                                );
                        }
                        break;
                        }
                    }
                    else
                    {
                        MapsCache.SpotToClearAndLevelUpIfPlayerWins = null;
                        customPopUpOpener.OpenWithBGM(
                            title: "You've lost the battle",
                            warningMessage: "The enemy start to search you fallen card's pockets",
                            confirmBtnMessage: "Go back in time",
                            cancelBtnMessage: "Sit and cry",
                            GoBackInTime,
                            () => { cryingAudioRequest.RequestPlaying(); },
                            defeatBGMRequest
                            );
                    }
                }
                else
                // Some pop up is oppened
                {
                    timer = 0.0f;
                }
            }
        }
    }