public AI_PlayerCombat() { for (int i = 0; i < (int)SKILLDEFINE.MAX_SKILLNUM; i++) { m_canSeleSkill[i] = new OwnSkillData(); m_canSeleSkill[i].CleanUp(); } }
void ShowSkillInfo() { //找出需要显示的技能id List <int> totalSkillList = new List <int>(); foreach (KeyValuePair <int, List <Tab_MasterSkill> > kvp in TableManager.GetMasterSkill()) { Tab_MasterSkill line = kvp.Value[0]; if (line != null) { if (line.Level == 1) { totalSkillList.Add(line.Id); } } } //当前师门已经学习的技能 Dictionary <int, string> masterSkillList = GameManager.gameManager.PlayerDataPool.MasterInfo.MasterSkillList; //当前个人已经激活的技能 List <int> ownSkillList = new List <int>(); OwnSkillData[] InfoArry = GameManager.gameManager.PlayerDataPool.OwnSkillInfo; for (int i = 0; i < InfoArry.Length; i++) { OwnSkillData info = InfoArry[i]; if (info.SkillId >= 0) { ownSkillList.Add(info.SkillId); } } //显示技能信息 for (int index = 0; index < SKILL_NUM && index < totalSkillList.Count; index++) { int skillid = totalSkillList[index]; //技能是否合法 Tab_SkillEx lineSkillEx = TableManager.GetSkillExByID(skillid, 0); if (lineSkillEx == null) { continue; } Tab_SkillBase lineSkillBase = TableManager.GetSkillBaseByID(lineSkillEx.BaseId, 0); if (lineSkillBase == null) { continue; } if (masterSkillList.ContainsKey(skillid)) { //师门已经学习的技能 int sameBaseSkillId = GetSameBaseSkill(ownSkillList, skillid); if (sameBaseSkillId >= 0) { //个人已经激活的技能 m_SkillID[index] = sameBaseSkillId; m_SkillActive[index] = true; m_SkillOwn[index] = true; m_SkillSprite[index].spriteName = lineSkillBase.Icon; m_SkillName[index].text = masterSkillList[skillid]; } else { //个人未激活的技能 m_SkillID[index] = skillid; m_SkillActive[index] = true; m_SkillOwn[index] = false; m_SkillSprite[index].spriteName = lineSkillBase.Icon; m_SkillName[index].text = masterSkillList[skillid]; } } else { int sameBaseSkillId = GetSameBaseSkill(ownSkillList, skillid); if (sameBaseSkillId >= 0) { m_SkillID[index] = sameBaseSkillId; m_SkillOwn[index] = true; } else { m_SkillID[index] = skillid; m_SkillOwn[index] = false; } //师门未学习的技能 m_SkillActive[index] = false; m_SkillSprite[index].spriteName = lineSkillBase.Icon; //m_SkillName[index].text = "未学习"; m_SkillName[index].text = StrDictionary.GetClientDictionaryString("#{2795}"); } } //隐藏按钮 m_SkillLearnBtn.gameObject.SetActive(false); m_SkillActiveBtn.gameObject.SetActive(false); m_SkillForgetBtn.gameObject.SetActive(false); m_SkillNameInputObject.gameObject.SetActive(false); //默认选中技能 OnClickSkill((m_CurSelectSkillIndex >= 0) ? m_CurSelectSkillIndex : 0); }