public static void PrepareFirstDeckIfNeededForThePlayerAndGetReadyForSaving(bool forceToPrepare = false) { if (playerDeckBuilder == null || forceToPrepare) { playerDeckBuilder = EditorMadeDeckBuilder.CreateEditorMadeDeckBuilder("PlayerDeck"); int[] cardIndexes = ((EditorMadeDeckBuilder)playerDeckBuilder).GetIndexOfEachCardPrototype(); PrepareDeckIndexesForSaving(cardIndexes); } }
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); }
public static void PrepareEditorMadeDeckForTheEnemy(string deckName) { enemyDeckBuilder = EditorMadeDeckBuilder.CreateEditorMadeDeckBuilder(deckName); }
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; } } } }