Beispiel #1
0
    //处理卡牌效果
    private void HandleCardEffect(CardInstance cardInstance, uint effectId, int targetInstId = 0)
    {
        CardEffectTemplate effectTemplate = CardEffectTemplateData.GetData(effectId);

        if (effectTemplate == null)
        {
            return;
        }

        CardEffectBase cardEffect = CardEffectFactory.GetCardEffect(effectTemplate.nType);

        if (cardEffect == null)
        {
            return;
        }

        if (cardEffect.CanTriggerCardEffect(effectTemplate))
        {
            cardEffect.DoEffect(this, cardInstance, effectTemplate, targetInstId);
        }

        if (effectTemplate.nLinkId != 0)
        {
            HandleCardEffect(cardInstance, effectTemplate.nLinkId, targetInstId);
        }
    }
Beispiel #2
0
 static BattleModel()
 {
     CardEffectFactory.Init();
 }