少年修仙传客户端代码仓库
client_linchunjie
2018-11-15 f7629024af2ca922a0df2e154b32345fd660d046
2381 【1.3】自动购买获取物品价格前后端统一
1个文件已修改
65 ■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/tagStoreConfig.cs 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/tagStoreConfig.cs
@@ -8,12 +8,16 @@
    {
        private static Dictionary<StoreItem, StoreConfig> s_StoreItemDict = new Dictionary<StoreItem, StoreConfig>();
        private static Dictionary<int, List<StoreConfig>> storeConfigs = new Dictionary<int, List<StoreConfig>>();
        static readonly int[] shop1Types = new int[] { 2, 3 };
        static readonly int[] shop2Types = new int[] { 4 };
        public void OnConfigParseCompleted()
        {
            if (ShopType == 0) return;
            var _storeItem = new StoreItem()
            {
                shopType = this.ShopType,
                item = this.ItemID,
                type = this.MoneyType,
            };
@@ -31,16 +35,60 @@
            list.Add(this);
        }
        public static StoreConfig GetStoreCfg(int _item, int _moneyType)
        public static StoreConfig GetStoreCfg(int _item, int _moneyType, int shopType = 0)
        {
            var _storeItem = new StoreItem()
            if (shopType != 0)
            {
                item = _item,
                type = _moneyType,
            };
            if (s_StoreItemDict.ContainsKey(_storeItem))
                var storeItem = new StoreItem()
                {
                    item = _item,
                    type = _moneyType,
                    shopType = shopType,
                };
                if (s_StoreItemDict.ContainsKey(storeItem))
                {
                    return s_StoreItemDict[storeItem];
                }
            }
            else
            {
                return s_StoreItemDict[_storeItem];
                switch (_moneyType)
                {
                    case 1:
                        {
                            for (int i = 0; i < shop1Types.Length; i++)
                            {
                                var storeItem = new StoreItem()
                                {
                                    item = _item,
                                    type = _moneyType,
                                    shopType = shop1Types[i],
                                };
                                if (s_StoreItemDict.ContainsKey(storeItem))
                                {
                                    return s_StoreItemDict[storeItem];
                                }
                            }
                        }
                        break;
                    case 2:
                        {
                            for (int i = 0; i < shop2Types.Length; i++)
                            {
                                var storeItem = new StoreItem()
                                {
                                    item = _item,
                                    type = _moneyType,
                                    shopType = shop2Types[i],
                                };
                                if (s_StoreItemDict.ContainsKey(storeItem))
                                {
                                    return s_StoreItemDict[storeItem];
                                }
                            }
                        }
                        break;
                }
            }
            return null;
        }
@@ -52,13 +100,14 @@
        public struct StoreItem
        {
            public int shopType;
            public int item;
            public int type;
            public override bool Equals(object x)
            {
                StoreItem _storeItem = (StoreItem)x;
                return this.item == _storeItem.item && this.type == _storeItem.type;
                return this.item == _storeItem.item && this.type == _storeItem.type && this.shopType == _storeItem.shopType;
            }
            public override int GetHashCode()