少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-12 8d5eb2ac19fc2b941d9b9e30b348c61648e6c4b8
3335 添加item tip 工具类型。
3个文件已添加
1个文件已修改
417 ■■■■■ 已修改文件
System/ItemTip.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/ItemTipUtility.cs 383 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/ItemTipUtility.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 25eb027cd83915f4d80c0672558c4d16
folderAsset: yes
timeCreated: 1552377650
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
System/ItemTip/ItemTipUtility.cs
New file
@@ -0,0 +1,383 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, March 12, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
namespace Snxxz.UI
{
    public enum ItemTipType
    {
        Item = 0,
        Equip = 1,
    }
    public class ItemTipUtility
    {
        public struct TipData
        {
            public int itemId;
            public string guid;
            public bool isAuction;
            public bool isEquiped;
            public BaseInfo baseInfo;
            public BaseProperty baseProperty;
            public LegendProperty legendProperty;
            public SuitInfo suitInfo;
            public StrengthenProperty strengthenProperty;
            public GemInfo gemInfo;
            public TrainProperty trainProperty;
        }
        public struct BaseInfo
        {
            public string name;
            public int realm;
            public int score;
            public int auctionSurplusTime;
        }
        public struct BaseProperty
        {
            public List<Int2> baseProperties;
            public List<Int2> starProperties;
        }
        public struct LegendProperty
        {
            public List<Int2> properties;
        }
        public struct SuitInfo
        {
            public string name;
            public int level;
            public int maxSuitLevel;
            public List<int> places;
            public Dictionary<int, EquipSuitPropertyEntry> twoSuitProperties;
            public Dictionary<int, EquipSuitPropertyEntry> fiveSuitProperties;
            public Dictionary<int, bool> eightSuits;
        }
        public struct StrengthenProperty
        {
            public List<Int2> properties;
        }
        public struct GemInfo
        {
            public Dictionary<int, int> gems;
        }
        public struct TrainProperty
        {
            public List<Int2> properties;
        }
        static PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        static EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        static EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        static EquipGemModel gemModel { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } }
        static EquipTrainModel trainModel { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } }
        public static TipData tipData { get; private set; }
        public static void Show(ItemTipType type, int itemId)
        {
            tipData = new TipData()
            {
                itemId = itemId,
                guid = string.Empty,
                isAuction = false,
                isEquiped = false,
                baseInfo = GetBaseInfo(itemId),
                baseProperty = GetBaseProperty(itemId),
                legendProperty = GetLegendProperty(itemId),
                suitInfo = GetSuitInfo(itemId),
                gemInfo = GetGemInfo(itemId),
            };
        }
        public static void Show(ItemTipType type, string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            if (item == null)
            {
                return;
            }
            tipData = new TipData()
            {
                itemId = item.itemId,
                guid = guid,
                isAuction = item.isBind == 1,
                isEquiped = equipModel.GetEquip(item.config.LV, item.config.EquipPlace) == guid,
                baseInfo = GetBaseInfo(guid),
                baseProperty = GetBaseProperty(guid),
                legendProperty = GetLegendProperty(guid),
                suitInfo = GetSuitInfo(guid),
                strengthenProperty = GetStrengthenProperty(guid),
                gemInfo = GetGemInfo(guid),
                trainProperty = GetTrainProperty(guid)
            };
        }
        private static BaseInfo GetBaseInfo(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            var baseInfo = new BaseInfo()
            {
                name = config.ItemName,
                realm = config.RealmLimit,
                score = ItemLogicUtility.Instance.GetEquipScore(PackType.Item, itemId, null, true),
                auctionSurplusTime = 0,
            };
            return baseInfo;
        }
        private static BaseInfo GetBaseInfo(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            var baseInfo = new BaseInfo()
            {
                name = item.config.ItemName,
                realm = item.config.RealmLimit,
                score = item.equipScore,
                auctionSurplusTime = 0,
            };
            return baseInfo;
        }
        private static BaseProperty GetBaseProperty(int itemId)
        {
            var baseProperties = new List<Int2>();
            var config = ItemConfig.Get(itemId);
            if (config.Effect1 != 0)
            {
                baseProperties.Add(new Int2(config.Effect1, config.EffectValueA1));
            }
            if (config.Effect2 != 0)
            {
                baseProperties.Add(new Int2(config.Effect2, config.EffectValueA2));
            }
            if (config.Effect3 != 0)
            {
                baseProperties.Add(new Int2(config.Effect3, config.EffectValueA3));
            }
            if (config.Effect4 != 0)
            {
                baseProperties.Add(new Int2(config.Effect4, config.EffectValueA4));
            }
            if (config.Effect5 != 0)
            {
                baseProperties.Add(new Int2(config.Effect5, config.EffectValueA5));
            }
            var baseProperty = new BaseProperty()
            {
                baseProperties = baseProperties,
            };
            return baseProperty;
        }
        private static BaseProperty GetBaseProperty(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            var baseProperty = GetBaseProperty(item.itemId);
            var starProperties = new List<Int2>();
            var star = starModel.GetEquipStarLevel(item.config.LV, item.config.EquipPlace);
            if (star > 0)
            {
                var starConfig = EquipStarConfig.Get(item.config.LV, item.config.EquipPlace, star);
                starProperties.AddRange(starConfig.BaseAttrInfo);
            }
            baseProperty.starProperties = starProperties;
            return baseProperty;
        }
        private static LegendProperty GetLegendProperty(int itemId)
        {
            return default(LegendProperty);
        }
        private static LegendProperty GetLegendProperty(string guid)
        {
            return default(LegendProperty);
        }
        private static SuitInfo GetSuitInfo(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            var job = config.JobLimit / 100;
            var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit);
            var name = twoConfigs[0].name;
            var level = config.LV;
            var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level);
            var places = new List<int>();
            for (int i = 1; i <= 8; i++)
            {
                var equip = packModel.GetItemByGuid(equipModel.GetEquip(level, i));
                var hasSuit = equip != null && equip.config.SuiteiD > 0;
                if (hasSuit)
                {
                    places.Add(i);
                }
            }
            var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>();
            var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>();
            var eightSuits = new Dictionary<int, bool>();
            var eightSuitLevel = equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit);
            twoSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit);
            fiveSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit);
            eightSuits[0] = eightSuitLevel >= 0;
            if (maxSuitLevel >= 3)
            {
                twoSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.TwoSuit);
                fiveSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.FiveSuit);
                eightSuits[3] = eightSuitLevel >= 3;
            }
            if (maxSuitLevel >= 6)
            {
                twoSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.TwoSuit);
                fiveSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.FiveSuit);
                eightSuits[6] = eightSuitLevel >= 3;
            }
            if (maxSuitLevel >= 9)
            {
                twoSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.TwoSuit);
                fiveSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.FiveSuit);
                eightSuits[9] = eightSuitLevel >= 9;
            }
            var suitInfo = new SuitInfo()
            {
                name = name,
                level = level,
                maxSuitLevel = maxSuitLevel,
                places = places,
                twoSuitProperties = twoSuitProperties,
                fiveSuitProperties = fiveSuitProperties,
                eightSuits = eightSuits
            };
            return suitInfo;
        }
        private static SuitInfo GetSuitInfo(string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            var config = ItemConfig.Get(item.itemId);
            var job = config.JobLimit / 100;
            var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit);
            var name = twoConfigs[0].name;
            var level = config.LV;
            var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level);
            var places = new List<int>();
            for (int i = 1; i <= 8; i++)
            {
                var equip = packModel.GetItemByGuid(equipModel.GetEquip(level, i));
                var hasSuit = equip != null && equip.config.SuiteiD > 0;
                if (hasSuit)
                {
                    places.Add(i);
                }
            }
            var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>();
            var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>();
            var eightSuits = new Dictionary<int, bool>();
            var eightSuitLevel = equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit);
            twoSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit);
            fiveSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit);
            eightSuits[0] = eightSuitLevel >= 0;
            if (maxSuitLevel >= 3)
            {
                twoSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.TwoSuit);
                fiveSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.FiveSuit);
                eightSuits[3] = eightSuitLevel >= 3;
            }
            if (maxSuitLevel >= 6)
            {
                twoSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.TwoSuit);
                fiveSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.FiveSuit);
                eightSuits[6] = eightSuitLevel >= 3;
            }
            if (maxSuitLevel >= 9)
            {
                twoSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.TwoSuit);
                fiveSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.FiveSuit);
                eightSuits[9] = eightSuitLevel >= 9;
            }
            var suitInfo = new SuitInfo()
            {
                name = name,
                level = level,
                maxSuitLevel = maxSuitLevel,
                places = places,
                twoSuitProperties = twoSuitProperties,
                fiveSuitProperties = fiveSuitProperties,
                eightSuits = eightSuits
            };
            return suitInfo;
        }
        private static StrengthenProperty GetStrengthenProperty(string guid)
        {
            return default(StrengthenProperty);
        }
        private static GemInfo GetGemInfo(int itemId)
        {
            return default(GemInfo);
        }
        private static GemInfo GetGemInfo(string guid)
        {
            return default(GemInfo);
        }
        private static TrainProperty GetTrainProperty(string guid)
        {
            return default(TrainProperty);
        }
    }
}
System/ItemTip/ItemTipUtility.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 1e29f156c73e78044934e85f0d55156d
timeCreated: 1552377672
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/KnapSack/Logic/ItemTipsModel.cs
@@ -712,12 +712,6 @@
        /// <param name="attrData"></param>
        public void SetBagTipsBtn(ItemAttrData attrData)
        {
            //if (attrData == null) return;
            //if (attrData == null) return;
            //var auctionHelpModel = ModelCenter.Instance.GetModel<AuctionHelpModel>();
            //auctionHelpModel.AttrData = attrData;
            //WindowCenter.Instance.Open<AuctionShelfWin>();
            //return;
            var horseModel = ModelCenter.Instance.GetModel<MountModel>();
            var petmodel = ModelCenter.Instance.GetModel<PetModel>();
            bool isOverdue = ItemLogicUtility.Instance.IsOverdue(attrData.guid, attrData.itemId, attrData.useDataDict);
@@ -1768,13 +1762,6 @@
        public string GetExhaustedAtrr(ItemAttrData attrData)
        {
            return SetExhaustedAttr(attrData, attrData.exhaustedMaxDataDict.Keys.ToList(), attrData.exhaustedMaxDataDict.Values.ToList());
        }
        //即将丢弃
        public string GetEquipExhaustedAtrr(List<int> idlist, List<int> valuelist)
        {
            //return SetExhaustedAttr(idlist, valuelist);
            return "";
        }
        private string SetExhaustedAttr(ItemAttrData attrData, List<int> idlist, List<int> valuelist)