示例#1
0
    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;
        }
    }
示例#2
0
    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;
        }
    }
示例#3
0
    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);
            }
        }
    }
示例#4
0
        /// <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));
        }
示例#5
0
    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);
    }
示例#6
0
    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);
    }