Example #1
0
    public override bool OnMsg(UIMsgID msgid, object param)
    {
        if (UIMsgID.eUseItemRefresh == msgid)
        {
            if (m_currUICommonUseItemGrid != null)
            {
                UseItemEnum type = (UseItemEnum)param;
                switch (type)
                {
                case UseItemEnum.None:
                    break;

                case UseItemEnum.RideExp:
                    m_currUICommonUseItemGrid.Data.useNum = (uint)DataManager.Manager <RideManager>().GetUseitemNum(m_currUICommonUseItemGrid.Data.itemid);

                    break;

                default:
                    break;
                }

                m_currUICommonUseItemGrid.RefreshItemNum();
                UpdateSlider();
            }
        }
        else if (UIMsgID.eShowUI == msgid)
        {
            UseItemCommonPanel.UseItemParam showInfo = (UseItemCommonPanel.UseItemParam)param;
            OnShow(param);
        }

        return(base.OnMsg(msgid, param));
    }
Example #2
0
    void InitPetData(UseItemEnum type)
    {
        if (CurPet == null)
        {
            return;
        }
        UpdateSlider();
        m_lstUseItemData.Clear();

        string str = "ExpItem";

        if (type == UseItemEnum.PetLife)
        {
            str = "LifeItem";
            m_label_title.text = CommonData.GetLocalString(" 珍兽寿命");
        }
        else if (type == UseItemEnum.PetExp)
        {
            str = "ExpItem";
            m_label_title.text = petDataManager.GetCurPetLevelStr();
        }
        else
        {
            return;
        }

        List <string> itemList = GameTableManager.Instance.GetGlobalConfigKeyList(str);

        PetDataBase pdb = GameTableManager.Instance.GetTableItem <PetDataBase>(CurPet.PetBaseID);

        if (pdb == null)
        {
            return;
        }
        uint carryLevel = (uint)petDataManager.GetCurPetLevel();

        #region  从lua里面拿出来的数据无序 要先排序
        List <uint> tempList = new List <uint>();
        foreach (var strID in itemList)
        {
            uint id = uint.Parse(strID);
            tempList.Add(id);
        }
        tempList.Sort((x1, x2) =>
        {
            if (x1 > x2)
            {
                return(1);
            }
            else if (x1 < x2)
            {
                return(-1);
            }
            else
            {
                return(0);
            }
        });

        List <uint> itemIDList = new List <uint>();
        #endregion
        for (int i = 0; i < tempList.Count; i++)
        {
            uint id = tempList[i];
            itemIDList.Add(id);
            //if (type == UseItemEnum.PetLife)
            //{
            //    int firstLevel = GameTableManager.Instance.GetGlobalConfig<int>("PetFirstLevel");
            //    int secondLevel = GameTableManager.Instance.GetGlobalConfig<int>("PetSecondLevel");
            //    if (carryLevel < firstLevel)
            //    {
            //        if (i == 0 || i == 3)
            //        {
            //            itemIDList.Add(id);
            //        }
            //    }
            //    else if (carryLevel > secondLevel)
            //    {
            //        if (i == 2 || i == 5)
            //        {
            //            itemIDList.Add(id);
            //        }
            //    }
            //    else
            //    {
            //        if (i == 1 || i == 4)
            //        {
            //            itemIDList.Add(id);
            //        }
            //    }
            //}
            //else
            //{
            //    itemIDList.Add(id);
            //}
        }

        itemIDList.Sort((x1, x2) =>
        {
            if (x1 > x2)
            {
                return(1);
            }
            else if (x1 < x2)
            {
                return(-1);
            }
            else
            {
                return(0);
            }
        });
        if (type == UseItemEnum.PetExp)
        {
            List <uint> hasList = new List <uint>();
            List <uint> noList  = new List <uint>();
            for (int i = 0; i < itemIDList.Count; i++)
            {
                uint id    = itemIDList[i];
                int  count = DataManager.Manager <ItemManager>().GetItemNumByBaseId(id);
                if (count != 0)
                {
                    hasList.Add(id);
                }
                else
                {
                    noList.Add(id);
                }
            }
            itemIDList.Clear();
            itemIDList.AddRange(hasList);
            itemIDList.AddRange(noList);
        }

        for (int i = 0; i < itemIDList.Count; i++)
        {
            UseItemData itemdata = new UseItemData();
            itemdata.parent = this;
            itemdata.itemid = (itemIDList[i]);
            itemdata.useNum = (uint)1;
            m_lstUseItemData.Add(itemdata);
        }
    }