public void AddPetSkill(int skillid, int index) { PetSkillObj obj = new PetSkillObj() { id = skillid, lv = 1 }; if (!HasLearnPetSkill(obj)) {//服务器发索引从1开始 (lua) int location = index - 1; if (location < 0) { Engine.Utility.Log.Error(" 数组越界 index 等于或小于0"); } if (location <= petSkillList.Count) { Engine.Utility.Log.LogGroup("ZDY", " insert pet skill " + skillid.ToString()); petSkillList.Insert(location, obj); } else { Engine.Utility.Log.Error(" 数组越界"); } } }
public void SetPetSkillLock(int skillid, bool bLock) { for (int i = 0; i < petSkillList.Count; i++) { PetSkillObj obj = petSkillList[i]; if (obj.id == skillid) { petSkillList[i].@lock = bLock; } } }
public void PetSkillUpGrade(int skillid) { for (int i = 0; i < petSkillList.Count; i++) { PetSkillObj obj = petSkillList[i]; if (obj.id == skillid) { petSkillList[i].lv += 1; } } }
public void DeletePetSkill(int skillid) { for (int i = 0; i < petSkillList.Count; i++) { PetSkillObj obj = petSkillList[i]; if (obj.id == skillid) { Engine.Utility.Log.LogGroup("ZDY", " remove pet skill " + skillid.ToString()); petSkillList.RemoveAt(i); break; } } }
bool HasLearnPetSkill(PetSkillObj obj) { bool isContain = false; foreach (var skill in petSkillList) { if (skill.id == obj.id) { return(true); } } return(isContain); }
public void InitFirstSkill() { if (CurPet != null) { List <PetSkillObj> list = CurPet.GetPetSkillList(); if (petDataManager.SelectSkillDataBase == null) { if (list.Count > 0) { PetSkillObj obj = list[0]; SkillDatabase db = GameTableManager.Instance.GetTableItem <SkillDatabase>((uint)obj.id, obj.lv); if (db != null) { petDataManager.SetSkillDatabase(db); } } } if (list.Count == 0) { petDataManager.SetSkillDatabase(null); } } }
public void InitSkillPanel() { if (m_label_jinengpetname == null) { return; } if (CurPet != null) { m_label_jinengpetname.text = petDataManager.GetCurPetName(); m_label_jinengpetlevel.text = petDataManager.GetCurPetLevel().ToString(); List <PetSkillObj> list = CurPet.GetPetSkillList(); if (petDataManager.SelectSkillDataBase != null) { m_widget_SkillDescription.gameObject.SetActive(true); uint skillid = petDataManager.SelectSkillDataBase.wdID; PetSkillObj obj = null; if (list.Count > 0) { obj = list[0]; } for (int i = 0; i < list.Count; i++) { var skill = list[i]; if (skill.id == skillid) { obj = skill; } } if (obj != null) { SkillDatabase db = GameTableManager.Instance.GetTableItem <SkillDatabase>((uint)obj.id, obj.lv); if (db != null) { petDataManager.SetSkillDatabase(db); } } else { m_widget_SkillDescription.gameObject.SetActive(false); return; } m_label_Skillname.text = petDataManager.SelectSkillDataBase.strName; m_label_SkillLevel.text = petDataManager.SelectSkillDataBase.wdLevel.ToString(); PetSkillType type = (PetSkillType)Enum.Parse(typeof(PetSkillType), petDataManager.SelectSkillDataBase.petType.ToString()); m_label_SkillType.text = type.GetEnumDescription(); m_label_NowLevel.text = petDataManager.SelectSkillDataBase.strDesc; m_label_skill_xiaohaogold.text = petDataManager.SelectSkillDataBase.dwMoney.ToString(); uint nextLevel = petDataManager.SelectSkillDataBase.wdLevel + 1; SkillDatabase nexeDb = GameTableManager.Instance.GetTableItem <SkillDatabase>(petDataManager.SelectSkillDataBase.wdID, (int)nextLevel); if (nexeDb != null) { m_label_NextLevel.text = nexeDb.strDesc; m_widget_next.gameObject.SetActive(true); m_label_skillfulltips.gameObject.SetActive(false); } else { m_label_skillfulltips.gameObject.SetActive(true); m_widget_next.gameObject.SetActive(false); return; } string itemArray = nexeDb.needItemArray; string[] itemIDArray = itemArray.Split(';'); string[] itemNum = itemIDArray[0].Split('_'); uint itemID = uint.Parse(itemNum[0]); uint needNum = uint.Parse(itemNum[1]); m__jineng_icon.transform.DestroyChildren(); m_nSkillNeedItemID = itemID; int itemCount = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemID); UpLevelNeedNum = needNum; ShowJiNengColdLabel(itemID); UIItem.AttachParent(m__jineng_icon.transform, itemID, (uint)itemCount, ShowJinengGetWayCallBack); int count = CurPet.GetPetSkillList().Count; ItemDataBase itemDb = GameTableManager.Instance.GetTableItem <ItemDataBase>(itemID); if (itemDb != null) { m_label_jineng_name.text = itemDb.itemName; m_label_jineng_number.text = StringUtil.GetNumNeedString(itemCount, needNum); } } else { m_widget_SkillDescription.gameObject.SetActive(false); } } }