public static List <FilteredArtStack> GenerateUnion(List <CollectionFilterSet.CollectionArtFilterSet> artFilterSets) { if ((artFilterSets == null) || (artFilterSets.Count == 0)) { return(new List <FilteredArtStack>()); } Map <NetCache.CardDefinition, FilteredArtStack> map = new Map <NetCache.CardDefinition, FilteredArtStack>(); foreach (CollectionFilterSet.CollectionArtFilterSet set in artFilterSets) { foreach (KeyValuePair <NetCache.CardDefinition, FilteredArtStack> pair in set.GenerateMap()) { NetCache.CardDefinition key = pair.Key; FilteredArtStack stack = pair.Value; if (!map.ContainsKey(key)) { map.Add(key, stack); } else { FilteredArtStack stack2 = map[key]; if (!stack2.MergeWithArtStack(stack)) { Debug.LogWarning(string.Format("CollectionArtFilterSet.GenerateUnion(): could not merge filtered art stack {0} with filtered art stack {1}", stack2, stack)); } } } } return(new List <FilteredArtStack>(map.Values)); }
public bool CanCraftCard(string cardID, TAG_PREMIUM premium) { NetCache.CardDefinition item = new NetCache.CardDefinition { Name = cardID, Premium = premium }; if (!this.m_craftableCardRewards.Contains(item) && GameUtils.FixedRewardExistsForCraftingCard(cardID, premium)) { return(false); } return(true); }
private FixedReward GetFixedReward(int rewardID, int rewardCount) { FixedReward reward = new FixedReward(); DbfRecord dbfRecReward = GameDbf.FixedReward.GetRecord(rewardID); if (dbfRecReward != null) { FixedRewardType type; if (!EnumUtils.TryGetEnum <FixedRewardType>(dbfRecReward.GetString("TYPE"), out type)) { return(reward); } switch (type) { case FixedRewardType.CARD: { NetCache.CardDefinition cardDefinition = this.GetCardDefinition(dbfRecReward); if (cardDefinition != null) { reward.FixedCardRewardData = new CardRewardData(cardDefinition.Name, cardDefinition.Premium, rewardCount); } return(reward); } case FixedRewardType.CARD_BACK: { int @int = dbfRecReward.GetInt("CARD_BACK_ID"); reward.FixedCardBackRewardData = new CardBackRewardData(@int); return(reward); } case FixedRewardType.CRAFTABLE_CARD: { NetCache.CardDefinition definition2 = this.GetCardDefinition(dbfRecReward); if (definition2 != null) { reward.FixedCraftableCardRewardData = definition2; } return(reward); } case FixedRewardType.META_ACTION_FLAGS: { int metaActionID = dbfRecReward.GetInt("META_ACTION_ID"); ulong uLong = dbfRecReward.GetULong("META_ACTION_FLAGS"); reward.FixedMetaActionRewardData = new FixedMetaActionReward(metaActionID); reward.FixedMetaActionRewardData.UpdateFlags(uLong, 0L); return(reward); } } } return(reward); }
public NetCache.CardValue GetCardValue(string cardID, TAG_PREMIUM premium) { NetCache.CardValue value2; NetCache.NetCacheCardValues netObject = NetCache.Get().GetNetObject <NetCache.NetCacheCardValues>(); NetCache.CardDefinition key = new NetCache.CardDefinition { Name = cardID, Premium = premium }; if (!netObject.Values.TryGetValue(key, out value2)) { return(null); } return(value2); }
public void UpdateFavoriteHeroSkins(CollectionManagerDisplay.ViewMode mode, bool isMassDisenchanting) { bool flag = mode == CollectionManagerDisplay.ViewMode.HERO_SKINS; if (this.m_heroSkinsDecor != null) { this.m_heroSkinsDecor.SetActive(flag && !isMassDisenchanting); } if (flag) { bool flag2 = CollectionManager.Get().GetTaggedDeck(CollectionManager.DeckTag.Editing) == null; foreach (CollectionCardVisual visual in this.m_collectionCardVisuals) { if (visual.IsShown()) { Actor actor = visual.GetActor(); CollectionHeroSkin component = actor.GetComponent <CollectionHeroSkin>(); if (component != null) { component.ShowShadow(actor.IsShown()); EntityDef entityDef = actor.GetEntityDef(); if (entityDef != null) { component.SetClass(entityDef.GetClass()); bool show = false; if (flag2) { NetCache.CardDefinition favoriteHero = CollectionManager.Get().GetFavoriteHero(entityDef.GetClass()); if (favoriteHero != null) { show = ((CollectionManager.Get().GetBestHeroesIOwn(entityDef.GetClass()).Count > 1) && !string.IsNullOrEmpty(favoriteHero.Name)) && (favoriteHero.Name == entityDef.GetCardId()); } } component.ShowFavoriteBanner(show); } } } } } }
private void MissingCardDisplay(Actor actor, string cardID, TAG_PREMIUM premium) { NetCache.CardValue value2; int buy = -1; NetCache.NetCacheCardValues netObject = NetCache.Get().GetNetObject <NetCache.NetCacheCardValues>(); NetCache.CardDefinition key = new NetCache.CardDefinition { Name = cardID, Premium = premium }; if (netObject.Values.TryGetValue(key, out value2)) { buy = value2.Buy; } long balance = NetCache.Get().GetNetObject <NetCache.NetCacheArcaneDustBalance>().Balance; if (((buy > 0) && (buy <= balance)) && FixedRewardsMgr.Get().CanCraftCard(cardID, premium)) { if (!actor.isGhostCard()) { actor.GhostCardEffect(true); } } else { CollectionManagerDisplay display = CollectionManagerDisplay.Get(); if (!actor.MissingCardEffect()) { if (premium == TAG_PREMIUM.GOLDEN) { actor.OverrideAllMeshMaterials(display.GetGoldenCardNotOwnedMeshMaterial()); } else { actor.OverrideAllMeshMaterials(display.GetCardNotOwnedMeshMaterial()); } } } }
public void OnFavoriteHeroChanged(TAG_CLASS heroClass, NetCache.CardDefinition favoriteHero, object userData) { object[] objArray1 = new object[] { heroClass, favoriteHero, userData }; base.method_8("OnFavoriteHeroChanged", objArray1); }
public void UpdateCardCounts(NetCache.NetCacheCollection netCacheCards, NetCache.CardDefinition cardDef, int count, int newCount) { object[] objArray1 = new object[] { netCacheCards, cardDef, count, newCount }; base.method_8("UpdateCardCounts", objArray1); }
public void NotifyNetCacheOfRemovedCards(NetCache.CardDefinition cardDef, int count) { object[] objArray1 = new object[] { cardDef, count }; base.method_8("NotifyNetCacheOfRemovedCards", objArray1); }
public void NotifyNetCacheOfNewCards(NetCache.CardDefinition cardDef, long insertDate, int count, bool seenBefore) { object[] objArray1 = new object[] { cardDef, insertDate, count, seenBefore }; base.method_8("NotifyNetCacheOfNewCards", objArray1); }