/// <summary>
        /// 根据施法对象获得不同法术
        /// </summary>
        /// <param name="singleEffect"></param>
        /// <param name="game"></param>
        /// <param name="PosInfo"></param>
        /// <returns></returns>
        private static IAtomicEffect GetEffectHandler(EffectDefine singleEffect, ActionStatus game, string PosInfo)
        {
            AtomicEffectDefine atomic;

            if (string.IsNullOrEmpty(singleEffect.效果条件) ||
                singleEffect.效果条件 == CardUtility.strIgnore ||
                ExpressHandler.AtomicEffectPickCondition(game, PosInfo, singleEffect))
            {
                atomic = singleEffect.TrueAtomicEffect;
            }
            else
            {
                atomic = singleEffect.FalseAtomicEffect;
            }
            IAtomicEffect IAtomic = new AttackEffect();

            switch (atomic.AtomicEffectType)
            {
            case AtomicEffectDefine.AtomicEffectEnum.攻击:
                IAtomic = new AttackEffect();
                break;

            case AtomicEffectDefine.AtomicEffectEnum.回复:
                IAtomic = new HealthEffect();
                break;

            case AtomicEffectDefine.AtomicEffectEnum.状态:
                IAtomic = new StatusEffect();
                break;

            case AtomicEffectDefine.AtomicEffectEnum.增益:
                IAtomic = new PointEffect();
                break;

            case AtomicEffectDefine.AtomicEffectEnum.变形:
                IAtomic = new TransformEffect();
                break;

            case AtomicEffectDefine.AtomicEffectEnum.召回:
                IAtomic = new CallBackEffect();
                break;
            }
            IAtomic.GetField(atomic.InfoArray);
            return((IAtomicEffect)IAtomic);
        }
Exemple #2
0
 /// <summary>
 /// 根据施法对象获得不同法术
 /// </summary>
 /// <param name="singleEffect"></param>
 /// <param name="game"></param>
 /// <param name="PosInfo"></param>
 /// <returns></returns>
 private static IAtomicEffect GetEffectHandler(EffectDefine singleEffect, ActionStatus game, string PosInfo)
 {
     AtomicEffectDefine atomic;
     if (string.IsNullOrEmpty(singleEffect.效果条件) ||
         singleEffect.效果条件 == CardUtility.strIgnore ||
         ExpressHandler.AtomicEffectPickCondition(game, PosInfo, singleEffect))
     {
         atomic = singleEffect.TrueAtomicEffect;
     }
     else
     {
         atomic = singleEffect.FalseAtomicEffect;
     }
     IAtomicEffect IAtomic = new AttackEffect();
     switch (atomic.AtomicEffectType)
     {
         case AtomicEffectDefine.AtomicEffectEnum.攻击:
             IAtomic = new AttackEffect();
             break;
         case AtomicEffectDefine.AtomicEffectEnum.回复:
             IAtomic = new HealthEffect();
             break;
         case AtomicEffectDefine.AtomicEffectEnum.状态:
             IAtomic = new StatusEffect();
             break;
         case AtomicEffectDefine.AtomicEffectEnum.增益:
             IAtomic = new PointEffect();
             break;
         case AtomicEffectDefine.AtomicEffectEnum.变形:
             IAtomic = new TransformEffect();
             break;
         case AtomicEffectDefine.AtomicEffectEnum.召回:
             IAtomic = new CallBackEffect();
             break;
     }
     IAtomic.GetField(atomic.InfoArray);
     return (IAtomicEffect)IAtomic;
 }