public void TryTriggerAction(ISkill skill, SkillData data, SkillActionTriggerTime triggerTime, int identifyId,
                              Action confirmCb = null)
 {
     SkillUtil.Log(string.Format("  TriggerTime-> {0}", triggerTime));
     if (HasAction(data, triggerTime, ref cacheActions))
     {
         confirmCb?.Invoke();
         TriggerMultiple(skill, cacheActions, identifyId);
     }
 }
        private bool HasAction(SkillData data, SkillActionTriggerTime triggerTime, ref List <int> actions)
        {
            if (actions == null)
            {
                actions = new List <int>();
            }
            actions.Clear();

            bool bFind = false;

            for (int i = 0; i < data.Action.Count; i++)
            {
                var ac = data.Action[i];

                var acType = (SkillActionTriggerTime)ac.Key;
                if (acType == triggerTime)
                {
                    actions.Add(ac.Value);
                    bFind = true;
                }
            }

            return(bFind);
        }