public void SetLockSkillNum(uint num) { if (CurPet == null) { return; } if (num == 0) { // m_label_jinengsuoding_number.gameObject.SetActive( false ); } else { m_label_jinengsuoding_number.gameObject.SetActive(true); } int limitLock = GameTableManager.Instance.GetGlobalConfig <int>("PetSkillLockLimit"); List <PetSkillObj> list = CurPet.GetPetSkillList(); int lockNum = list.Count - limitLock; if (lockNum < 0) { lockNum = 0; } m_label_jinengsuoding_number.text = num.ToString() + "/" + lockNum.ToString(); PetSkillLearnDataBase learnDb = GameTableManager.Instance.GetTableItem <PetSkillLearnDataBase>(num); if (learnDb != null) { m_label_suoding_xiaohao.text = learnDb.needDianJuan.ToString(); } }
void InitLabel() { if (CurSkillDataBase != null) { m_label_xuejineng_Skillname.text = CurSkillDataBase.strName; m_label_xuejineng_SkillLevel.text = CurSkillDataBase.wdLevel.ToString() + CommonData.GetLocalString("级"); if (m__skilldes_xuejineng_icon != null) { UIManager.GetTextureAsyn(CurSkillDataBase.iconPath, ref m_iconCASD, () => { if (null != m__skilldes_xuejineng_icon) { m__skilldes_xuejineng_icon.mainTexture = null; } }, m__skilldes_xuejineng_icon); } m_label_xuejineng_NowLevel.text = CurSkillDataBase.strDesc; m_label_skilltype.text = petDataManager.GetSkillTypeStr((PetSkillType)CurSkillDataBase.petType); string itemArray = CurSkillDataBase.needItemArray; string[] itemIDArray = itemArray.Split(';'); if (itemIDArray.Length < 1) { Log.Error("skilldatabase needitemarray error lenght less than 2 skillid is " + CurSkillDataBase.wdID); return; } string[] itemNum = itemIDArray[0].Split('_'); if (itemNum.Length < 2) { Log.Error("skilldatabase needitemarray error lenght less than 2 skillid is " + CurSkillDataBase.wdID); return; } uint itemID = uint.Parse(itemNum[0]); uint needNum = uint.Parse(itemNum[1]); UIManager uiMan = DataManager.Manager <UIManager>(); int itemCount = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemID); m_nItemID = itemID; m_label_xuejineng_number.text = StringUtil.GetNumNeedString(itemCount, needNum); UIItem.AttachParent(m_sprite_xuejineng_icon.transform, itemID, (uint)itemCount, ShowGetWayCallBack); ShowLearnSkillColdLabel(itemID); int count = 0; PetSkillLearnDataBase learnDb = GameTableManager.Instance.GetTableItem <PetSkillLearnDataBase>((uint)count); if (learnDb != null) { m_label_suoding_xiaohao.text = learnDb.needDianJuan.ToString(); } m_label_xuejineng_goldxiaohao.text = CurSkillDataBase.dwMoney.ToString(); ItemDataBase itemDb = GameTableManager.Instance.GetTableItem <ItemDataBase>(itemID); if (itemDb != null) { int num = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemDb.itemID); m_label_xuejineng_name.text = itemDb.itemName; m_label_xuejineng_number.text = StringUtil.GetNumNeedString(itemCount, needNum); } SetLockSkillNum(petDataManager.LockSkillNum); } }
/// <summary> /// 通过[技能数量]二分快速查表 /// </summary> /// <param name="skillNum">技能数量</param> /// <returns></returns> public static PetSkillLearnDataBase Query(this List <PetSkillLearnDataBase> sorted, uint skillNum) { var key = new PetSkillLearnDataBase() { skillNum = skillNum }; var comparer = new Comparer1(); var index = sorted.BinarySearch(key, comparer); return(index >= 0 ? sorted[index] : default(PetSkillLearnDataBase)); }