public void AttemptToDuplicateSelectedCard() { if (currentSave != null && selectedCardState != null && selectedCardStateGameobject.gameObject.activeSelf) { currentSave.AddCardToDeck(data.FindCardData(selectedCardState.GetCardDataID()), selectedCardState.GetCardStateModifiers(), true); } }
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); }
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); } } } }
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; }