/// <summary> /// 添加技能 /// </summary> /// <param name="skillName"></param> /// <param name="trigger"></param> public void AddSkill(string skillName, Func <bool> trigger, bool ignoreInput = false) { foreach (var s in skills) { if (s.name == skillName) { Debug.LogWarning("重复添加技能"); return; } } if (skills.Count >= this.MaxRealSkillCount + this.BaseSkillCount) { Debug.LogWarning("无法添加更多技能"); return; } this.allSkillNames.Add(skillName); var skill = SkillTriggerMgr.skillInstanceDic[skillName]; this.skills.Add(skill); var pair = new MainLoop.UpdateTestPair(trigger, () => RunSkill(skills.Count - 1, ignoreInput)); MainLoop.Instance.AddUpdateTest(pair); //dis.Add(pair); }
public override void OnDisable() { MainLoop.Instance.RemoveUpdateTest(pair); pair = null; }
public override void OnEnable() { pair = new MainLoop.UpdateTestPair(() => Input.GetKeyDown(KeyCode.K), Execute); MainLoop.Instance.AddUpdateTest(pair); }