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); }