Ejemplo n.º 1
0
 private void AddActorState(IBuff buff, SkillBuffData buffData)
 {
     if (buffData.State != (int)ActorSkillState.None)
     {
         var stateData = SkillUtil.GetSkillStateData(buffData.State);
         int key       = stateData.StateType;
         if (this.stateMap.ContainsKey(key))
         {
             var number = this.stateMap[key];
             this.stateMap[key] = number + 1;
         }
         else
         {
             this.stateMap.Add(key, 1);
             buff.GetTarget()?.AddState((ActorSkillState)key);
         }
     }
 }
Ejemplo n.º 2
0
 private void RemoveActorState(IBuff buff, SkillBuffData buffData)
 {
     if (buffData.State != (int)ActorSkillState.None)
     {
         var stateData = SkillUtil.GetSkillStateData(buffData.State);
         int key       = stateData.StateType;
         if (this.stateMap.ContainsKey(key))
         {
             var number   = this.stateMap[key];
             var newValue = number - 1;
             if (newValue <= 0)
             {
                 this.stateMap.Remove(key);
                 buff.GetTarget()?.RemoveState((ActorSkillState)key);
             }
             else
             {
                 this.stateMap[key] = newValue;
             }
         }
     }
 }