public ISkillController UseSkill(SkillData skillData, Transform owner , string TeamId, Direction direction, Vector3 SkillFrameEventpos, FrameEventInfo.RoleSkillFrameEventData.SkillActionType skillActionType = FrameEventInfo.RoleSkillFrameEventData.SkillActionType.Default, bool IsFirst = true) { if (skillData.IsPhasesSkill) { UseSkillPhases(skillData, owner, TeamId, direction, SkillFrameEventpos); return(null); } if (IsFirst) { HasSkillGroup(skillData, owner, TeamId, direction, SkillFrameEventpos); } switch (skillData.type) { case SkillGroupType.None: return(UseSkill_Single(skillData, owner, TeamId, direction, SkillFrameEventpos)); case SkillGroupType.Random: return(UseSkillRandom(skillData, owner, TeamId, direction, SkillFrameEventpos)); case SkillGroupType.Sequence: UseSkillSequence(skillData, owner, TeamId, direction, SkillFrameEventpos); break; default: Debug.LogError("SkillGroupType类型" + skillData.type); break; } return(null); }
public ISkillController UseSkill(string id, Transform owner, string TeamId , Direction direction, Vector3 SkillFrameEventpos , FrameEventInfo.RoleSkillFrameEventData.SkillActionType skillActionType = FrameEventInfo.RoleSkillFrameEventData.SkillActionType.Default) { if (GetSkillData(id) is SkillData skill) { ISkillController retSkillController = UseSkill(skill, owner, TeamId, direction, SkillFrameEventpos, skillActionType); // 自己释放的技能忽略自己 retSkillController.SetIgnoreList(new List <int>() { owner.gameObject.GetHashCode() }); return(retSkillController); } Debug.Log("找不到skilldata"); return(null); }