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