Пример #1
0
    public CardDef GetCardDef(string cardId, CardPortraitQuality quality = null)
    {
        CardDef def;

        if (quality == null)
        {
            quality = CardPortraitQuality.GetDefault();
        }
        if (true)
        {
            quality.TextureQuality = 3;
        }
        CardDef component = null;

        if (this.m_cachedCardDefs.TryGetValue(cardId, out def))
        {
            component = def;
            if (CardPortraitQuality.GetFromDef(def) >= quality)
            {
                return(def);
            }
        }
        if (component == null)
        {
            GameObject brokenCardPrefab = AssetLoader.Get().LoadCardPrefab(cardId, true, false);
            if (brokenCardPrefab == null)
            {
                brokenCardPrefab = GameUtils.GetBrokenCardPrefab();
            }
            component = brokenCardPrefab.GetComponent <CardDef>();
            if (component == null)
            {
                Debug.LogError(string.Format("LoadCardDef: Could not find card def for {0}", cardId));
                return(null);
            }
            this.m_cachedCardDefs.Add(cardId, component);
        }
        this.UpdateCardAssets(component, quality);
        return(component);
    }