少年修仙传客户端代码仓库
client_Hale
2018-09-11 f237dce65b7eb454dfc9e2fe6c8efdebca085b4e
System/BetterItemGet/PreciousItemGetModel.cs
@@ -9,7 +9,7 @@
namespace Snxxz.UI
{
    public class PreciousItemGetModel : Model, IBeforePlayerDataInitialize, ISwitchAccount
    public class PreciousItemGetModel : Model, IBeforePlayerDataInitialize,ISwitchAccount,IPlayerLoginOk
    {
        Dictionary<string, PreciousItem> itemStack = new Dictionary<string, PreciousItem>();
        List<string> itemGuids = new List<string>();
@@ -38,12 +38,20 @@
        public void OnBeforePlayerDataInitialize()
        {
            isGetNewItem = false;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshRealm;
        }
        public void OnSwitchAccount()
        {
            currentShowItem = default(PreciousItem);
        }
        public void OnPlayerLoginOk()
        {
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshRealm;
        }
        public bool TryGetItem(string _guid, out PreciousItem _itemModel)
        {
@@ -75,6 +83,22 @@
            {
                var item = playerPack.GetItemModelByGUID(currentShowItem.guid);
                return item == null ? 0 : item.chinItemModel.ID;
            }
        }
        private void RefreshRealm(PlayerDataRefresh type)
        {
            int realmLv = PlayerDatas.Instance.baseData.realmLevel;
            if (type != PlayerDataRefresh.OfficialRank
                || NewBieCenter.Instance.inGuiding)
            {
                return;
            }
            List<ItemModel> druglist = modelInterface.GetDruglistByRealm();
            for(int i = 0; i < druglist.Count; i++)
            {
                OnGetPreciousItem(druglist[i].packType,druglist[i].itemInfo.ItemGUID);
            }
        }
@@ -160,18 +184,17 @@
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            var lineId = PlayerDatas.Instance.baseData.dungeonLineId;
            var dungeonId = dungeonModel.DungeonMap(dungeonModel.GetDungeonDataIdByMapId(mapId), lineId);
            var dungeonId = dungeonModel.GetDungeonId(dungeonModel.GetDataMapIdByMapId(mapId), lineId);
            if (dungeonId == 0)
            {
                return true;
            }
            else
            {
                var config = ConfigManager.Instance.GetTemplate<DungeonConfig>(dungeonId);
                var config = Config.Instance.Get<DungeonConfig>(dungeonId);
                return config.ShowNewItemTip == 1;
            }
        }
        public struct PreciousItem
        {