Beispiel #1
0
    public virtual void Initiate(CardInfo_Base cardInfo, CardShowMode cardShowMode, ClientPlayer clientPlayer = null)
    {
        ClientPlayer = clientPlayer;
        CardInfo     = cardInfo.Clone();
        SetCardShowMode(cardShowMode);
        transform.rotation = Quaternion.Euler(0, 0, 0);
        transform.Rotate(Vector3.up, 180);
        Usable = false;
        if (DragComponent)
        {
            DragComponent.enabled = true;
        }
        BoxCollider.enabled = true;
        M_Metal             = CardInfo.BaseInfo.Metal;
        M_Energy            = CardInfo.BaseInfo.Energy;
        M_Coin = CardInfo.BaseInfo.Coin;
        string cur_Language = LanguageManager.Instance ? LanguageManager.Instance.GetCurrentLanguage() : "zh";

        M_Name = CardInfo.BaseInfo.CardNames[cur_Language] + (CardInfo.BaseInfo.IsTemp ? "*" : "");
        M_Desc = CardInfo.GetCardDescShow();

        CardDescComponent.SetTempCard(false);
        ChangeCardPicture(CardInfo.BaseInfo.PictureID);
        CardDescComponent?.SetCardTypeText(CardInfo.GetCardTypeDesc());
        SetBlockCountValue(0, true);
        SetBlockCountMaxValue(CardInfo.BaseInfo.LimitNum, true);
        SetBannerType(CardNoticeComponent.BannerTypes.None);
        SetArrowType(CardNoticeComponent.ArrowTypes.None);
        SetStarNumber(CardInfo.UpgradeInfo.CardLevel, CardInfo.UpgradeInfo.CardLevelMax);
        RefreshCardAllColors();
    }
Beispiel #2
0
    public override void Initiate(CardInfo_Base cardInfo, CardShowMode cardShowMode, ClientPlayer clientPlayer = null)
    {
        base.Initiate(cardInfo, cardShowMode, clientPlayer);
        M_MechTotalLife = CardInfo.LifeInfo.TotalLife;
        M_MechAttack    = CardInfo.BattleInfo.BasicAttack;
        M_MechArmor     = CardInfo.BattleInfo.BasicArmor;
        M_MechShield    = CardInfo.BattleInfo.BasicShield;

        InitSlots();
        if (M_CardShowMode == CardShowMode.CardSelect)
        {
            ResetSelectCountBlockPosition();
        }
        if (M_CardShowMode == CardShowMode.SelectedCardPreview || M_CardShowMode == CardShowMode.CardUpgradePreview)
        {
            RefreshSelectCountBlockPosition();
        }
    }
Beispiel #3
0
    private void SetCardShowMode(CardShowMode value)
    {
        foreach (KeyValuePair <CardComponentTypes, CardComponentBase> kv in CardComponents)
        {
            kv.Value?.gameObject.SetActive(CardShowModeComponentList[value].Contains(kv.Key));
        }

        //TODO 特例
        ShowCardBloom(value != CardShowMode.CardSelect);
        ShowAllSlotBlooms(value != CardShowMode.CardSelect);
        ShowAllSlotLights(true);
        if (value == CardShowMode.CardSelect || value == CardShowMode.SelectedCardPreview)
        {
            ResetCoinPosition();
        }
        if (value == CardShowMode.CardUpgradePreview)
        {
            RefreshCoinPosition();
        }
        CardLifeComponent?.gameObject.SetActive(CardInfo != null && CardInfo.BaseInfo.CardType == CardTypes.Mech);

        M_CardShowMode = value;
    }
Beispiel #4
0
    public static CardBase InstantiateCardByCardInfo(CardInfo_Base cardInfo, Transform parent, CardShowMode cardShowMode, ClientPlayer clientPlayer = null)
    {
        CardBase newCard;

        switch (cardInfo.BaseInfo.CardType)
        {
        case CardTypes.Mech:
            newCard = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.MechCard].AllocateGameObject <CardMech>(parent);
            break;

        case CardTypes.Equip:
            newCard = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.EquipCard].AllocateGameObject <CardEquip>(parent);
            ((CardEquip)newCard).M_EquipType = cardInfo.EquipInfo.SlotType;
            break;

        case CardTypes.Spell:
            newCard = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.SpellCard].AllocateGameObject <CardSpell>(parent);
            break;

        case CardTypes.Energy:
            newCard = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.SpellCard].AllocateGameObject <CardSpell>(parent);
            break;

        default:
            newCard = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.MechCard].AllocateGameObject <CardMech>(parent);
            break;
        }

        newCard.Initiate(cardInfo, cardShowMode, clientPlayer);
        return(newCard);
    }
Beispiel #5
0
 public override void Initiate(CardInfo_Base cardInfo, CardShowMode cardShowMode, ClientPlayer clientPlayer = null)
 {
     base.Initiate(cardInfo, cardShowMode, clientPlayer);
 }