Exemple #1
0
        //根据效果的名称获取一个深度克隆的效果信息
        public EffectInfo GetDepthCloneEffectByName(string effectCode)
        {
            EffectInfo effectInfo = TransExpV2 <EffectInfo, EffectInfo> .Trans(effectSysItem.effectInfoMap[effectCode]);

            //初始化效果
            effectSysItem.EffectActionReady(effectInfo);
            if (effectInfo.preEffectList != null)
            {
                //实例化每一个前置后置效果
                foreach (string preEffectCode in effectInfo.preEffectList)
                {
                    EffectInfo preEffectInfo = TransExpV2 <EffectInfo, EffectInfo> .Trans(effectSysItem.effectInfoMap[preEffectCode]);

                    effectSysItem.EffectActionReady(preEffectInfo);
                    effectInfo.preEffectEntryList.Add(preEffectInfo);
                }
            }
            if (effectInfo.postEffectList != null)
            {
                //实例化每一个前置后置效果
                foreach (string postEffectCode in effectInfo.postEffectList)
                {
                    EffectInfo postEffectInfo = TransExpV2 <EffectInfo, EffectInfo> .Trans(effectSysItem.effectInfoMap[postEffectCode]);

                    effectSysItem.EffectActionReady(postEffectInfo);
                    effectInfo.postEffectEntryList.Add(postEffectInfo);
                }
            }
            return(effectInfo);
        }
Exemple #2
0
        public void EffectActionReady(EffectInfo effect)
        {
            if (effect.operationalTarget != null)
            {
                effect.operationalTarget.selectTargetList = new List <TargetSet>();
                foreach (string targetSetCode in effect.operationalTarget.selectTarget)
                {
                    TargetSet targetSetDto = TransExpV2 <TargetSet, TargetSet> .Trans(targetSetMap[targetSetCode]);

                    targetSetDto.CleanEffectTargetSetList();
                    effect.operationalTarget.selectTargetList.Add(targetSetDto);
                }
            }
        }