예제 #1
0
 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]);
     }
 }
예제 #2
0
 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));
         }
     }
 }