Exemplo n.º 1
0
 public void TryTriggerAction(ISkill skill, SkillData data, ESkillActionTriggerTime triggerTime, int identifyId,
                              Action confirmCb = null)
 {
     //SkillUtil.Log($"  TriggerTime-> {triggerTime}");
     if (!HasAction(data, triggerTime, ref cacheActions))
     {
         return;
     }
     confirmCb?.Invoke();
     TriggerMultiple(skill, cacheActions, identifyId);
 }
Exemplo n.º 2
0
        private bool HasAction(SkillData data, ESkillActionTriggerTime triggerTime, ref List <int> actions)
        {
            actions ??= new List <int>();
            actions.Clear();

            bool bFind = false;

            foreach (var ac in data.Action)
            {
                var acType = (ESkillActionTriggerTime)ac.Key;
                if (acType != triggerTime)
                {
                    continue;
                }
                actions.Add(ac.Value);
                bFind = true;
            }

            return(bFind);
        }