示例#1
0
 public void AttemptToDuplicateSelectedCard()
 {
     if (currentSave != null && selectedCardState != null && selectedCardStateGameobject.gameObject.activeSelf)
     {
         currentSave.AddCardToDeck(data.FindCardData(selectedCardState.GetCardDataID()), selectedCardState.GetCardStateModifiers(), true);
     }
 }
示例#2
0
 public static bool IsCardStarterSpell(CardState card)
 {
     foreach (var clan in ProviderManager.SaveManager.GetAllGameData().GetAllClassDatas())
     {
         for (int i = 0; i < 2; i++)
         {
             // If we find any match, return true
             if (card.GetCardDataID() == clan.GetChampionData(i).starterCardData.GetID() && card.GetCardType() == CardType.Spell)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
示例#3
0
        static void Postfix(CardDraftScreen __instance, IDraftableUI draftedItem)
        {
            //Get SaveManager and DraftItems
            SaveManager save = ReflectionMethods.GetInstanceField<SaveManager, CardDraftScreen>(__instance,"saveManager");
            List<IDraftableUI> draftItems = ReflectionMethods.GetInstanceField<List<IDraftableUI>, CardDraftScreen>(__instance, "draftItems");

            //Safety First
            if (save != null)
            {
                foreach (IDraftableUI uI in draftItems)
                {
                    if (uI != draftedItem)
                    {
                        CardState cardState = (uI as CardUI).GetCardState();
                        CardData cardData = save.GetAllGameData().FindCardData(cardState.GetCardDataID());
                        CardStateModifiers cardStateModifiers = cardState.GetCardStateModifiers();
                        save.AddCardToDeck(cardData, cardStateModifiers, true, true, false, true, true);
                    }
                }
            }
        }
示例#4
0
        public IEnumerator ApplyConsume(CardState card)
        {
            yield return(new WaitForSeconds(0.01f));

            // Check and see if we're a starter card
            foreach (var clan in ProviderManager.SaveManager.GetAllGameData().GetAllClassDatas())
            {
                for (int i = 0; i < 2; i++)
                {
                    if (card.GetCardDataID() == clan.GetChampionData(i).starterCardData.GetID() && card.GetCardType() == CardType.Spell)
                    {
                        cardManager.AddTemporaryTraitToCard(card, new CardTraitData {
                            traitStateName = "CardTraitExhaustState"
                        });
                        cardManager.RefreshCardInHand(card);
                        card.RefreshCardBodyTextLocalization();
                        cardsWeHaveModified.Add(card);
                    }
                }
            }

            yield break;
        }