public MonsterAi(Monster monster) : base(monster) { _monster = monster; _skillSelector = new SkillSelector(_monster); _aiTpl = _monster.aiTpl; if (_aiTpl.Protect.Length > 2) { _duty = new ProtectPartnerDuty(monster, _aiTpl.Protect[0], _aiTpl.Protect[1], _aiTpl.Protect[2]); } }
public SkillSelector(Role role) { releaseBuffSkillTime = 0.0f; _role = role; _aiTpl = _role.aiTpl; if (_aiTpl == null) { Debug.Log(string.Format("找不到AI配置,角色ID={0}", _role.GetRoleInfo().Tpl.ID)); } _skillTpls = new Dictionary <int, SkillTplData>(); for (int i = 0; i < _aiTpl.Skills.Length; i++) { int skId = _aiTpl.Skills[i]; if (!_skillTpls.ContainsKey(skId)) { _skillTpls.Add(skId, TemplateManager.GetSkillTplData(skId)); } } }