Ejemplo n.º 1
0
    public void AddBuff(Buff buffInfo)
    {
        int buffId  = buffInfo.BuffId;
        int assetId = -1;

        if (!_buffListDic.ContainsKey(buffId))
        {
            _buffListDic.Add(buffId, new List <Buff>());
            if (null != buffInfo.BuffEffectInfo && null != _chara)
            {
                _chara.AddEffect(buffInfo.BuffEffectInfo);
                assetId = buffInfo.BuffEffectInfo.AssetKey;
            }
        }
        //叠加buff
        if (_buffListDic[buffId].Count > 0)
        {
            assetId = _buffListDic[buffId][0].BuffEffectInfo.AssetKey;

            while (_buffListDic[buffId].Count >= buffInfo.MixMax)
            {
                Buff tmp = _buffListDic[buffId][0];
                tmp.Destroy();
                _buffListDic[buffId].RemoveAt(0);
            }
        }
        buffInfo.BuffEffectInfo.AssetKey = assetId;
        _buffListDic[buffId].Add(buffInfo);
    }
Ejemplo n.º 2
0
 protected override void DoAction()
 {
     if (EffectData.Id != "" && null != _skillPlayer)
     {
         ICharaActor chara = _skillPlayer as ICharaActor;
         if (null != chara)
         {
             chara.AddEffect(EffectData);
         }
     }
     Complete();
 }