少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-05 60f616fc149c620953f468d1383f15a810f898df
System/Equip/EquipModel.cs
@@ -22,9 +22,6 @@
        public readonly LogicString selectedEquip = new LogicString();
        public readonly LogicInt selectedStarLevel = new LogicInt();
        int m_AppearanceLevel = 0;
        public int appearanceLevel { get { return m_AppearanceLevel; } }
        Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>();
        Dictionary<string, CandidateEquip> candidateEquips = new Dictionary<string, CandidateEquip>();
@@ -50,7 +47,7 @@
        {
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
            var lastestSet = 0;
            var lastestSet = 1;
            return lastestSet;
        }
@@ -69,7 +66,7 @@
            {
                candidateEquips.Clear();
                selectedEquip.value = string.Empty;
                var items = packModel.GetItems(new SinglePack.FilterParams()
                var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
                {
                    level = selectedLevel.value,
                    equipType = selectedPlace.value
@@ -100,6 +97,7 @@
            selectedLevel.value = 0;
            selectedPlace.value = 0;
            selectedEquip.value = string.Empty;
            selectedStarLevel.value = 0;
        }
        public List<string> GetCandidateEquips()
@@ -168,6 +166,17 @@
            }
            return equipSets[level];
        }
        public string GetEquip(int level, int place)
        {
            var set = GetEquipSet(level);
            if (set == null)
            {
                return string.Empty;
            }
            return set.GetEquip(place);
        }
        public void SetAppearance(int level)
@@ -340,9 +349,36 @@
        private void OnItemPackRefresh(PackType type)
        {
            if (type == PackType.Item)
            switch (type)
            {
                case PackType.Item:
                UpdateRedpoints();
                    break;
                case PackType.Equip:
                    foreach (var set in equipSets.Values)
                    {
                        for (var i = 1; i <= 12; i++)
                        {
                            set.UpdateEquipSlot(i, string.Empty);
                        }
                    }
                    var items = packModel.GetItems(PackType.Equip, new SinglePack.FilterParams()
                    {
                        level = 0,
                        quality = 0,
                        equipType = 0,
                        itemType = 0
                    });
                    foreach (var item in items)
                    {
                        var clientPlace = EquipSet.ServerPlaceToClientPlace(item.itemPlace);
                        equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, item.guid);
                    }
                    break;
                default:
                    break;
            }
        }
@@ -350,18 +386,23 @@
        {
            if (type == PackType.Item)
            {
                return;
            }
            var config = ItemConfig.Get(itemId);
            var level = config.LV;
            if (!equipSets.ContainsKey(level))
                if (equipSets.ContainsKey(level))
            {
                return;
            }
            var item = packModel.GetItemByIndex(PackType.Item, index);
                    if (item != null)
                    {
            equipSets[level].UpdateRedPoint(item.guid);
                    }
                }
            }
            else if (type == PackType.Equip)
            {
                var equip = packModel.GetItemByIndex(PackType.Equip, index);
                var clientPlace = EquipSet.ServerPlaceToClientPlace(index);
                equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, equip == null ? string.Empty : equip.guid);
            }
        }
        private void UpdateRedpoints()
@@ -369,7 +410,7 @@
            var equips = new List<ItemModel>();
            for (var i = 1; i <= 12; i++)
            {
                var items = packModel.GetItems(new SinglePack.FilterParams()
                var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
                {
                    equipType = i,
                });
@@ -412,7 +453,7 @@
            var equips = new List<ItemModel>();
            for (var i = 1; i <= 12; i++)
            {
                var items = packModel.GetItems(new SinglePack.FilterParams()
                var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
                {
                    level = level,
                    equipType = i,
@@ -448,7 +489,7 @@
            foreach (var item in configs)
            {
                var level = item.level;
                var currentRealm = setLevelToRealms.ContainsKey(level) ? 9999 : setLevelToRealms[level];
                var currentRealm = setLevelToRealms.ContainsKey(level) ? setLevelToRealms[level] : 9999;
                if (item.realm < currentRealm)
                {
                    setLevelToRealms[level] = item.realm;