void RefreshInfo() { CalCulate(); PetInHeritDataBase db = GetInHeritData(m_uNewPetBaseID); if (db == null) { return; } uint costItem = db.costItem; int num = DataManager.Manager <ItemManager>().GetItemNumByBaseId(costItem); m_label_ChuanChengCommon_number.text = StringUtil.GetNumNeedString(num, petDataManager.InheritCostItemNum); UIItem.AttachParent(m_sprite_ChuanChengCommon_icon_di.transform, costItem, 0, InheritGetWayCallBack, true, (uint)petDataManager.InheritCostItemNum); // DataManager.Manager<UIManager>().SetSpriteDynamicIcon(m_sprite_inheritMoneySpr, MainPlayerHelper.GetMoneyIconByType((int)db.moneyType)); UIManager.GetAtlasAsyn(MainPlayerHelper.GetMoneyIconByType((int)db.moneyType), ref m_curInHeritIconAsynSeed, () => { if (null != m_sprite_inheritMoneySpr) { m_sprite_inheritMoneySpr.atlas = null; } }, m_sprite_inheritMoneySpr, false); m_label_ChuanChengCommon_xiaohaogold.text = petDataManager.InHeritCostMoney.ToString(); if (MainPlayerHelper.IsHasEnoughMoney(db.moneyType, (uint)petDataManager.InHeritCostMoney, false)) { m_label_ChuanChengCommon_xiaohaogold.color = Color.black; } else { m_label_ChuanChengCommon_xiaohaogold.color = Color.red; } }
void CalCulate() { PetInHeritDataBase db = GetInHeritData(m_uNewPetBaseID); if (db == null) { return; } petDataManager.InheritCostItemNum = 0; petDataManager.InHeritCostMoney = 0; if (petDataManager.bInheritXiuwei) { petDataManager.InheritCostItemNum += (int)db.yinhunInheritNum; petDataManager.InHeritCostMoney += (int)db.yinhunInheritMoney; } if (petDataManager.bInheritSkill) { petDataManager.InheritCostItemNum += (int)db.skillInheritNum; petDataManager.InHeritCostMoney += (int)db.skillInheritMoney; } if (petDataManager.bInheritExp) { petDataManager.InheritCostItemNum += (int)db.expInheritNum; petDataManager.InHeritCostMoney += (int)db.expInheritMoney; } }
void InitOldPet(uint petID) { m_uPetOldThisID = petID; petDataManager.AddInhertPet((int)PetInheritPos.Old, petID); IPet pet = petDataManager.GetPetByThisID(petID); if (pet != null) { uint baseID = pet.PetBaseID; m_uOldPetBaseID = baseID; PetDataBase pdb = GameTableManager.Instance.GetTableItem <PetDataBase>(baseID); if (pdb != null) { m_label_Old_name.text = petDataManager.GetPetName(pet); //DataManager.Manager<UIManager>().SetSpriteDynamicIcon(m_sprite_Old_icon, pdb.icon); UIManager.GetTextureAsyn(pdb.icon, ref m_inheritOldIconAsynSeed, () => { if (null != m__Old_icon) { m__Old_icon.mainTexture = null; } }, m__Old_icon, false); string bgSpriteName = ItemDefine.GetItemFangBorderIconByItemID(pdb.ItemID); //DataManager.Manager<UIManager>().SetSpriteDynamicIcon(m_sprite_OldIconBox, bgSpriteName); UIManager.GetAtlasAsyn(bgSpriteName, ref m_inheritOldQuaAsynSeed, () => { if (null != m_sprite_OldIconBox) { m_sprite_OldIconBox.atlas = null; } }, m_sprite_OldIconBox, false); int oldLv = pet.GetProp((int)CreatureProp.Level); m_label_Old_level_Before.text = oldLv.ToString(); m_label_Old_level_After.text = "0"; m_label_Old_skill_Before.text = pet.GetPetSkillList().Count.ToString(); m_label_Old_skill_After.text = "0"; m_label_Old_xiuwei_Before.text = pet.GetProp((int)PetProp.YinHunLevel).ToString(); m_label_Old_xiuwei_After.text = "0"; PetInHeritDataBase idb = GetInHeritData(m_uNewPetBaseID); if (idb != null) { UIItem.AttachParent(m_sprite_ChuanChengCommon_icon_di.transform, idb.costItem, 0, InheritGetWayCallBack); ItemDataBase db = GameTableManager.Instance.GetTableItem <ItemDataBase>(idb.costItem); if (db != null) { m_label_ChuanChengCommon_name.text = db.itemName; } m_label_ChuanChengCommon_number.text = "0/0"; } m_btn_btn_Old_delete.gameObject.SetActive(true); } } }
/// <summary> /// 通过[品质]二分快速查表 /// </summary> /// <param name="petQuality">品质</param> /// <returns></returns> public static PetInHeritDataBase Query(this List <PetInHeritDataBase> sorted, uint petQuality) { var key = new PetInHeritDataBase() { petQuality = petQuality }; var comparer = new Comparer1(); var index = sorted.BinarySearch(key, comparer); return(index >= 0 ? sorted[index] : default(PetInHeritDataBase)); }
PetInHeritDataBase GetInHeritData(uint petBaseID) { PetDataBase pdb = GameTableManager.Instance.GetTableItem <PetDataBase>(petBaseID); if (pdb == null) { Log.Error("petdb is null id is {0}", petBaseID); return(null); } PetInHeritDataBase db = GameTableManager.Instance.GetTableItem <PetInHeritDataBase>(pdb.petQuality); if (db == null) { Log.Error("PetInHeritDataBase is null id is {0}", pdb.petQuality); return(null); } return(db); }
void onClick_KaishiChuanCheng_Btn(GameObject caster) { if (!petDataManager.bInheritExp && !petDataManager.bInheritSkill && !petDataManager.bInheritXiuwei) { TipsManager.Instance.ShowTips(LocalTextType.Pet_Commond_qinggouxuanyaochuanchengxuanxiang); return; } IPet oldpet = petDataManager.GetInheritPet((int)PetInheritPos.Old); if (oldpet == null) { return; } IPet newpet = petDataManager.GetInheritPet((int)PetInheritPos.New); if (newpet == null) { return; } if (newpet.GetInheritNum() >= 1) { TipsManager.Instance.ShowTips(LocalTextType.Pet_Next_zhenshouzhinengchuanchengyici); return; } PetInHeritDataBase db = GetInHeritData(m_uNewPetBaseID); if (db == null) { return; } uint costItem = db.costItem; int num = DataManager.Manager <ItemManager>().GetItemNumByBaseId(costItem); if (petDataManager.InheritCostItemNum > num) { ItemDataBase itemdb = GameTableManager.Instance.GetTableItem <ItemDataBase>(costItem); if (itemdb != null) { TipsManager.Instance.ShowLocalFormatTips(LocalTextType.Pet_Next_chuanchengxiaohaodedaojubuzu, itemdb.itemName); } return; } if (!MainPlayerHelper.IsHasEnoughMoney(db.moneyType, (uint)petDataManager.InHeritCostMoney, false)) { DataManager.Manager <Mall_HuangLingManager>().ShowExchange((uint)ErrorEnum.NotEnoughGold, ClientMoneyType.Gold, "提示", "去兑换", "取消"); // TipsManager.Instance.ShowTips(LocalTextType.Pet_Next_chuanchengxiaohaodejingbibuzu); return; } PetDataBase newPdb = GameTableManager.Instance.GetTableItem <PetDataBase>(m_uNewPetBaseID); PetDataBase oldPdb = GameTableManager.Instance.GetTableItem <PetDataBase>(m_uOldPetBaseID); if (newPdb != null && oldPdb != null) { if (newPdb.petQuality < oldPdb.petQuality) { TipsManager.Instance.ShowTips(LocalTextType.Pet_Next_mubiaozhenshoudepinzhixudayudengyucailiaozhenshou); return; } } stInheritPetUserCmd_CS cmd = new stInheritPetUserCmd_CS(); cmd.src_id = oldpet.GetID(); cmd.des_id = newpet.GetID(); cmd.exp = petDataManager.bInheritExp; cmd.skill = petDataManager.bInheritSkill; cmd.yh = petDataManager.bInheritXiuwei; NetService.Instance.Send(cmd); }