//-------------------------------------------------------- 
 | 
//    [Author]:           玩个游戏 
 | 
//    [  Date ]:           Tuesday, March 12, 2019 
 | 
//-------------------------------------------------------- 
 | 
using UnityEngine; 
 | 
using System.Collections; 
 | 
using UnityEngine.UI; 
 | 
using System.Collections.Generic; 
 | 
using System.Linq; 
 | 
using LitJson; 
 | 
  
 | 
public class ItemTipUtility 
 | 
{ 
 | 
    public enum TipType 
 | 
    { 
 | 
        Item, 
 | 
        Equip, 
 | 
        PetMount, 
 | 
        BoxItem,    //宝箱随机物品 
 | 
        BoxChooseItem,    //宝箱自选物品 
 | 
        TreasurePavilion, //古宝物品(碎片) 
 | 
    } 
 | 
  
 | 
    public class TipData 
 | 
    { 
 | 
        public string guid; 
 | 
        public int itemId; 
 | 
        public int goodId; 
 | 
        public int exchangeItemId;  //部分界面要动态变化物品的情况 
 | 
  
 | 
        public BaseInfo baseInfo; 
 | 
        public BaseProperty baseProperty; 
 | 
        public BaseProperty petMountBaseProperty; 
 | 
        public SpiritWeaponProperty spiritWeaponProperty; 
 | 
        public ShenProperty shenProperty; 
 | 
        public LegendProperty legendProperty; 
 | 
        public SkillInfo skillInfo; 
 | 
        public SuitInfo suitInfo; 
 | 
        public StarInfo starInfo; 
 | 
        public StrengthenProperty strengthenProperty; 
 | 
        public GemInfo gemInfo; 
 | 
        public TrainProperty trainProperty; 
 | 
        public List<ItemOperateType> operates; 
 | 
        public WingRefineMaterials refineMaterials; 
 | 
        public GetWay getWay; 
 | 
    } 
 | 
  
 | 
    public struct BaseInfo 
 | 
    { 
 | 
        public int itemId; 
 | 
        public int count; 
 | 
        public bool isAuction; 
 | 
        public bool isEquiped; 
 | 
        public bool isPreview; 
 | 
  
 | 
        public int star; 
 | 
        public int strengthenLevel; 
 | 
        public int score; 
 | 
        public bool isOverdue; 
 | 
        public int auctionSurplusTime; 
 | 
        public int overdueSurplusTime; 
 | 
        public int levelLimit; 
 | 
        public int moneyLimit; 
 | 
        public int evolveLevel; 
 | 
    } 
 | 
  
 | 
    public struct BaseProperty 
 | 
    { 
 | 
        public List<Int2> baseProperties; 
 | 
        public int star; 
 | 
        public List<Int2> starProperties; 
 | 
    } 
 | 
  
 | 
    public struct SpiritWeaponProperty 
 | 
    { 
 | 
        public int itemId; 
 | 
        public List<Int3> properties; 
 | 
    } 
 | 
  
 | 
    public struct LegendProperty 
 | 
    { 
 | 
        public bool isPreview; 
 | 
        public int itemId; 
 | 
        public int trueCount; 
 | 
        public List<Int2> properties; 
 | 
        public int score; 
 | 
    } 
 | 
  
 | 
    //神装属性 
 | 
    public struct ShenProperty 
 | 
    { 
 | 
        public bool isPreview; 
 | 
        public int itemId; 
 | 
        public List<Int3> properties; 
 | 
    } 
 | 
  
 | 
    public struct SuitInfo 
 | 
    { 
 | 
        public int job; 
 | 
        public string name; 
 | 
        public int level; 
 | 
        public int maxSuitLevel; 
 | 
        public List<int> places; 
 | 
        public Dictionary<int, int> placeStars; 
 | 
        // public Dictionary<int, EquipSuitPropertyEntry> twoSuitProperties; 
 | 
        //  public Dictionary<int, EquipSuitPropertyEntry> fiveSuitProperties; 
 | 
        public Dictionary<int, bool> eightSuits; 
 | 
    } 
 | 
  
 | 
    public struct StarInfo 
 | 
    { 
 | 
        public Int2 equipPosition; 
 | 
        public int starLevel; 
 | 
        public int maxLevel; 
 | 
    } 
 | 
  
 | 
    public struct StrengthenProperty 
 | 
    { 
 | 
        public int strengthenLevel; 
 | 
        public List<Int2> properties; 
 | 
        public int evolveLevel; 
 | 
        public int equipPlace; 
 | 
    } 
 | 
  
 | 
    public struct GemInfo 
 | 
    { 
 | 
        public Dictionary<int, bool> activeStates; 
 | 
        public Dictionary<int, int> gems; 
 | 
    } 
 | 
  
 | 
    public struct TrainProperty 
 | 
    { 
 | 
        public int level; 
 | 
        public List<Int2> properties; 
 | 
    } 
 | 
  
 | 
    public struct SkillInfo 
 | 
    { 
 | 
        public List<int> skills; 
 | 
    } 
 | 
  
 | 
    public struct WingRefineMaterials 
 | 
    { 
 | 
        public List<Int2> materials; 
 | 
    } 
 | 
  
 | 
    public struct GetWay 
 | 
    { 
 | 
        public bool defaultUnfold; 
 | 
        public int itemId; 
 | 
        public List<int> ways; 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    public struct CustomEquipInfo 
 | 
    { 
 | 
        public int job; 
 | 
        public int itemId; 
 | 
        public int score; 
 | 
        public bool isEquiped; 
 | 
        public List<Int2> legendProperties; 
 | 
        public List<int> suitPlaces; 
 | 
        public Dictionary<int, int> placeStars; 
 | 
        // public Dictionary<EquipSuitType, int> suitLevels; 
 | 
        public int strengthenLevel; 
 | 
        public int starLevel; 
 | 
        public List<Int2> trainProperties; 
 | 
        public Dictionary<int, bool> gemHoleActiveStates; 
 | 
        public Dictionary<int, int> gems; 
 | 
        public List<int> equipSkillList; 
 | 
        public int evolveLevel; 
 | 
    } 
 | 
  
 | 
    public struct CustomItemPlus 
 | 
    { 
 | 
        public int ItemID; 
 | 
        public int count; 
 | 
        public int Equipped; 
 | 
        public int Preview; 
 | 
        public int Star; 
 | 
        public int PlusLV; 
 | 
        public int EvolveLV; 
 | 
        public string UserData; 
 | 
        public int[] Stone; 
 | 
        public CustomEquipWash Wash; 
 | 
        public int[][] Equips; 
 | 
        public int[] suitPlaces; 
 | 
        public int[] suitLevels; 
 | 
        public int[] placeStars; 
 | 
    } 
 | 
  
 | 
    public struct CustomEquipWash 
 | 
    { 
 | 
        public int LV; 
 | 
        public int[] Value; 
 | 
    } 
 | 
  
 | 
    public struct ItemViewInfo 
 | 
    { 
 | 
        public int itemId; 
 | 
        public bool compare; 
 | 
        public bool unfoldGetWay; 
 | 
        public bool isAuctionEquip; 
 | 
        public LegendProperty legendProperty; 
 | 
        public int score; 
 | 
    } 
 | 
  
 | 
    // 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>(); } } 
 | 
    // static EquipStrengthModel strengthenModel { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } } 
 | 
    // static MountModel mountModel { get { return ModelCenter.Instance.GetModel<MountModel>(); } } 
 | 
    // static PetModel petModel { get { return ModelCenter.Instance.GetModel<PetModel>(); } } 
 | 
    // static ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } } 
 | 
    // static StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } 
 | 
    // static VirtualPackModel virtualPackModel { get { return ModelCenter.Instance.GetModel<VirtualPackModel>(); } } 
 | 
    // static ItemOverdueModel itemOverdueModel { get { return ModelCenter.Instance.GetModel<ItemOverdueModel>(); } } 
 | 
    // static BoxGetItemModel boxGetItemModel { get { return ModelCenter.Instance.GetModel<BoxGetItemModel>(); } } 
 | 
  
 | 
    public static TipData mainTipData { get; private set; }     // 注意当递进点击打开多个tip界面会变更数据,不能依赖此值 
 | 
    public static TipData secondaryData { get; private set; } 
 | 
  
 | 
    public static void ShowMoneyTip(int moneyType, bool showGetWay = true) 
 | 
    { 
 | 
        if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType)) 
 | 
        { 
 | 
            Show(GeneralDefine.MoneyDisplayModel[moneyType], showGetWay); 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            SysNotifyMgr.Instance.ShowTip("LackMoney", moneyType); 
 | 
            // Debug.LogErrorFormat("配置MoneyDisplayModel 查无此货币:{0}", moneyType); 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    //showGetWay 是否获取途径界面 
 | 
    public static void Show(int itemId, bool showGetWay = false) 
 | 
    { 
 | 
        if (!ItemConfig.HasKey(itemId)) 
 | 
        { 
 | 
            Debug.LogErrorFormat("查无此物品:{0}", itemId); 
 | 
            return; 
 | 
        } 
 | 
  
 | 
        Show(new ItemViewInfo() 
 | 
        { 
 | 
            itemId = itemId, 
 | 
            unfoldGetWay = showGetWay 
 | 
        }); 
 | 
    } 
 | 
  
 | 
    public static void Show(ItemViewInfo item) 
 | 
    { 
 | 
        var itemId = item.itemId; 
 | 
        if (!ItemConfig.HasKey(itemId)) 
 | 
        { 
 | 
            Debug.LogErrorFormat("查无此物品:{0}", itemId); 
 | 
            return; 
 | 
        } 
 | 
  
 | 
        // secondaryData = null; 
 | 
  
 | 
        var config = ItemConfig.Get(itemId); 
 | 
        PrintItemBrief(itemId); 
 | 
  
 | 
        var tipType = GetTipType(itemId); 
 | 
        switch (tipType) 
 | 
        { 
 | 
            case TipType.Equip: 
 | 
                // mainTipData = CreateNormalEquipData(itemId); 
 | 
                // if (item.isAuctionEquip && !item.legendProperty.Equals(default(LegendProperty))) 
 | 
                // { 
 | 
                //     mainTipData.legendProperty = item.legendProperty; 
 | 
                //     mainTipData.baseInfo.score = item.score; 
 | 
                //     mainTipData.baseInfo.isPreview = false; 
 | 
                // } 
 | 
  
 | 
                // if (item.compare) 
 | 
                // { 
 | 
                //     if (ItemLogicUtility.Instance.IsJobCompatibleItem(itemId)) 
 | 
                //     { 
 | 
                //         var equipedGuid = equipModel.GetEquip(new Int2(config.LV, config.EquipPlace)); 
 | 
                //         if (equipedGuid != string.Empty) 
 | 
                //         { 
 | 
                //             secondaryData = CreateNormalEquipData(equipedGuid, false); 
 | 
                //         } 
 | 
                //     } 
 | 
                // } 
 | 
                break; 
 | 
            default: 
 | 
                mainTipData = CreateItemData(itemId); 
 | 
                break; 
 | 
        } 
 | 
  
 | 
        mainTipData.getWay.defaultUnfold = item.unfoldGetWay; 
 | 
        if (mainTipData.getWay.defaultUnfold) 
 | 
        { 
 | 
            UIManager.Instance.OpenWindow<ItemTipWayWin>(itemId); 
 | 
            return; 
 | 
        } 
 | 
  
 | 
  
 | 
        switch (tipType) 
 | 
        { 
 | 
            case TipType.Equip: 
 | 
                // WindowCenter.Instance.Open<EquipTipWin>(); 
 | 
                break; 
 | 
  
 | 
            // case TipType.PetMount: 
 | 
            //      WindowCenter.Instance.Open<PetMountTipWin>(); 
 | 
            //     break; 
 | 
  
 | 
            case TipType.BoxItem: 
 | 
                UIManager.Instance.OpenWindow<BoxItemWin>(); 
 | 
                break; 
 | 
            case TipType.BoxChooseItem: 
 | 
                UIManager.Instance.OpenWindow<ChooseItemsWin>(); 
 | 
                break; 
 | 
            case TipType.TreasurePavilion: 
 | 
                // TreasurePavilionModel.Instance.selectGubao = config.EffectValueA1; 
 | 
                // TreasurePavilionModel.Instance.showTipFromPiece = config.ID; 
 | 
                // WindowCenter.Instance.OpenIL<TreasurePavilionTipWin>(); 
 | 
                break; 
 | 
            default: 
 | 
                UIManager.Instance.OpenWindow<ItemTipWin>(); 
 | 
                break; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public static void Show(string guid, bool operatable = true) 
 | 
    { 
 | 
        var item = PackManager.Instance.GetItemByGuid(guid); 
 | 
        if (item == null) 
 | 
        { 
 | 
            return; 
 | 
        } 
 | 
        PrintItemBrief(item.itemId, item); 
 | 
  
 | 
        secondaryData = null; 
 | 
        var tipType = GetTipType(item.itemId); 
 | 
        switch (tipType) 
 | 
        { 
 | 
            case TipType.Equip: 
 | 
                var packType = item.packType; 
 | 
                switch (packType) 
 | 
                { 
 | 
                    case PackType.Equip: 
 | 
                        mainTipData = new TipData() { guid = guid }; 
 | 
                        break; 
 | 
                    default: 
 | 
                        // if (item.isAuction) 
 | 
                        // { 
 | 
                        //     mainTipData = CreateEquipAuctionData(guid, operatable); 
 | 
  
 | 
                        //     if (ItemLogicUtility.Instance.IsJobCompatibleItem(item.itemId)) 
 | 
                        //     { 
 | 
                        //         var equipedGuid = equipModel.GetEquip(new Int2(item.config.LV, item.config.EquipPlace)); 
 | 
                        //         if (equipedGuid != string.Empty) 
 | 
                        //         { 
 | 
                        //             secondaryData = CreateNormalEquipData(equipedGuid, false); 
 | 
                        //         } 
 | 
                        //     } 
 | 
                        // } 
 | 
                        // else 
 | 
                        // { 
 | 
                        //     mainTipData = CreateNormalEquipData(guid, operatable); 
 | 
                        //     var equipedGuid = equipModel.GetEquip(new Int2(item.config.LV, item.config.EquipPlace)); 
 | 
                        //     if (equipedGuid != guid) 
 | 
                        //     { 
 | 
                        //         secondaryData = CreateNormalEquipData(equipedGuid, false); 
 | 
                        //     } 
 | 
                        // } 
 | 
                        break; 
 | 
                } 
 | 
                break; 
 | 
  
 | 
            default: 
 | 
                mainTipData = CreateItemData(guid, operatable); 
 | 
                break; 
 | 
        } 
 | 
  
 | 
        switch (tipType) 
 | 
        { 
 | 
            case TipType.Equip: 
 | 
                isShowCustomEquip = false; 
 | 
                UIManager.Instance.OpenWindow<EquipTipWin>(); 
 | 
                break; 
 | 
            // case TipType.PetMount: 
 | 
            //     WindowCenter.Instance.Open<PetMountTipWin>(); 
 | 
            //     break; 
 | 
            case TipType.BoxItem: 
 | 
                UIManager.Instance.OpenWindow<BoxItemWin>(); 
 | 
                break; 
 | 
            case TipType.BoxChooseItem: 
 | 
                UIManager.Instance.OpenWindow<ChooseItemsWin>(); 
 | 
                break; 
 | 
            // case TipType.TreasurePavilion: 
 | 
            //     TreasurePavilionModel.Instance.selectGubao = item.config.EffectValueA1; 
 | 
            //     TreasurePavilionModel.Instance.showTipFromPiece = item.itemId; 
 | 
            //     WindowCenter.Instance.OpenIL<TreasurePavilionTipWin>(); 
 | 
            //     break; 
 | 
            default: 
 | 
                UIManager.Instance.OpenWindow<ItemTipWin>(); 
 | 
                break; 
 | 
        } 
 | 
  
 | 
    } 
 | 
    public static bool isShowCustomEquip = false; 
 | 
    public static int customEquipItemId; 
 | 
    public static int customEquipAppointItemId; 
 | 
    public static void ShowCustomEquip(int itemId, int appointItemId) 
 | 
    { 
 | 
        customEquipItemId = itemId; 
 | 
        customEquipAppointItemId = appointItemId; 
 | 
        isShowCustomEquip = true; 
 | 
        UIManager.Instance.OpenWindow<EquipTipWin>(); 
 | 
    } 
 | 
  
 | 
  
 | 
    // public static void ShowCustomEquip(CustomEquipInfo info) 
 | 
    // { 
 | 
    //     secondaryData = null; 
 | 
    //     mainTipData = CreateCustomEquipData(info); 
 | 
    //     WindowCenter.Instance.Open<EquipTipWin>(); 
 | 
    // } 
 | 
  
 | 
  
 | 
  
 | 
    // static TipData CreateNormalEquipData(string guid) 
 | 
    // { 
 | 
    //     var item = PackManager.Instance.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(TipData); 
 | 
    //     } 
 | 
  
 | 
    //     return new TipData() 
 | 
    //     { 
 | 
    //         itemId = item.itemId, 
 | 
    //         guid = guid, 
 | 
  
 | 
    //         baseInfo = GetBaseInfo(guid), 
 | 
    //         baseProperty = GetBaseProperty(guid), 
 | 
    //         spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), 
 | 
    //         legendProperty = GetLegendProperty(guid), 
 | 
    //         skillInfo = GetSkillInfo(item.itemId, guid), 
 | 
    //         suitInfo = GetSuitInfo(guid), 
 | 
    //         starInfo = GetStarInfo(guid), 
 | 
    //         strengthenProperty = GetStrengthenProperty(guid), 
 | 
    //         gemInfo = GetGemInfo(guid), 
 | 
    //         trainProperty = GetTrainProperty(guid), 
 | 
    //         operates = operatable ? GetOperates(guid) : null, 
 | 
    //         shenProperty = GetShenProperty(item.itemId) 
 | 
    //     }; 
 | 
    // } 
 | 
  
 | 
    // static TipData CreateNormalEquipData(int itemId) 
 | 
    // { 
 | 
    //     return new TipData() 
 | 
    //     { 
 | 
    //         itemId = itemId, 
 | 
    //         guid = string.Empty, 
 | 
  
 | 
    //         baseInfo = GetBaseInfo(itemId), 
 | 
    //         baseProperty = GetBaseProperty(itemId), 
 | 
    //         legendProperty = GetLegendProperty(itemId), 
 | 
    //         spiritWeaponProperty = GetSpiritWeaponProperty(itemId), 
 | 
    //         skillInfo = GetSkillInfo(itemId), 
 | 
    //         suitInfo = GetSuitInfo(itemId), 
 | 
    //         gemInfo = GetGemInfo(itemId), 
 | 
    //         starInfo = GetStarInfo(itemId), 
 | 
    //         getWay = GetGetWay(itemId), 
 | 
    //         shenProperty = GetShenProperty(itemId) 
 | 
    //     }; 
 | 
    // } 
 | 
  
 | 
    // static TipData CreateDogzEquipData(string guid) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(TipData); 
 | 
    //     } 
 | 
  
 | 
    //     return new TipData() 
 | 
    //     { 
 | 
    //         itemId = item.itemId, 
 | 
    //         guid = guid, 
 | 
  
 | 
    //         baseInfo = GetBaseInfo(guid), 
 | 
    //         baseProperty = GetBaseProperty(guid), 
 | 
    //         legendProperty = GetLegendProperty(guid), 
 | 
    //         operates = GetOperates(guid), 
 | 
    //     }; 
 | 
    // } 
 | 
  
 | 
    // static TipData CreateDogzEquipData(int itemId) 
 | 
    // { 
 | 
    //     return new TipData() 
 | 
    //     { 
 | 
    //         itemId = itemId, 
 | 
    //         guid = string.Empty, 
 | 
  
 | 
    //         baseInfo = GetBaseInfo(itemId), 
 | 
    //         baseProperty = GetBaseProperty(itemId), 
 | 
    //         legendProperty = GetLegendProperty(itemId), 
 | 
    //         getWay = GetGetWay(itemId) 
 | 
    //     }; 
 | 
    // } 
 | 
  
 | 
    // static TipData CreateCustomEquipData(CustomEquipInfo info) 
 | 
    // { 
 | 
    //     var config = ItemConfig.Get(info.itemId); 
 | 
    //     if (config == null) 
 | 
    //     { 
 | 
    //         return default(TipData); 
 | 
    //     } 
 | 
  
 | 
    //     var baseInfo = new BaseInfo() 
 | 
    //     { 
 | 
    //         itemId = info.itemId, 
 | 
    //         star = info.starLevel, 
 | 
    //         strengthenLevel = info.strengthenLevel, 
 | 
    //         score = info.score, 
 | 
    //         isEquiped = info.isEquiped, 
 | 
    //         evolveLevel = info.evolveLevel, 
 | 
    //     }; 
 | 
  
 | 
    //     var baseProperty = GetBaseProperty(info.itemId); 
 | 
    //     if (info.starLevel > 0) 
 | 
    //     { 
 | 
    //         var starProperties = new List<Int2>(); 
 | 
    //         baseProperty.star = info.starLevel; 
 | 
    //         var starConfig = EquipStarConfig.Get(config.LV, config.EquipPlace, info.starLevel); 
 | 
    //         starProperties.AddRange(starConfig.BaseAttrInfo); 
 | 
    //         baseProperty.starProperties = starProperties; 
 | 
    //     } 
 | 
  
 | 
    //     var legendProperty = new LegendProperty() 
 | 
    //     { 
 | 
    //         properties = info.legendProperties, 
 | 
    //     }; 
 | 
  
 | 
    //     var skillInfo = GetSkillInfo(info.itemId, info); 
 | 
    //     var suitInfo = default(SuitInfo); 
 | 
    //     if (ItemLogicUtility.Instance.IsSuitEquip(info.itemId)) 
 | 
    //     { 
 | 
    //         var job = config.JobLimit; 
 | 
    //         var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); 
 | 
    //         var name = twoConfigs[0].name; 
 | 
    //         var level = config.LV; 
 | 
    //         var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level); 
 | 
  
 | 
    //         var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); 
 | 
    //         var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); 
 | 
    //         var eightSuits = new Dictionary<int, bool>(); 
 | 
    //         var eightSuitLevel = info.suitLevels[EquipSuitType.EightSuit]; 
 | 
  
 | 
    //         for (var i = 0; i <= 9; i++, i++, i++) 
 | 
    //         { 
 | 
    //             var configs = EquipSuitConfig.GetConfigs(job, level, EquipSuitType.TwoSuit); 
 | 
    //             var actived = info.suitLevels[EquipSuitType.TwoSuit] >= i; 
 | 
    //             var properties = new List<Int2>(); 
 | 
    //             foreach (var item in configs) 
 | 
    //             { 
 | 
    //                 if (item.star == i) 
 | 
    //                 { 
 | 
    //                     properties.AddRange(item.attr); 
 | 
    //                     break; 
 | 
    //                 } 
 | 
    //             } 
 | 
  
 | 
    //             twoSuitProperties[i] = new EquipSuitPropertyEntry() 
 | 
    //             { 
 | 
    //                 type = EquipSuitType.TwoSuit, 
 | 
    //                 actived = actived, 
 | 
    //                 properties = properties, 
 | 
    //             }; 
 | 
  
 | 
    //             configs = EquipSuitConfig.GetConfigs(job, level, EquipSuitType.FiveSuit); 
 | 
    //             actived = info.suitLevels[EquipSuitType.FiveSuit] >= i; 
 | 
    //             properties = new List<Int2>(); 
 | 
    //             foreach (var item in configs) 
 | 
    //             { 
 | 
    //                 if (item.star == i) 
 | 
    //                 { 
 | 
    //                     properties.AddRange(item.attr); 
 | 
    //                     break; 
 | 
    //                 } 
 | 
    //             } 
 | 
  
 | 
    //             fiveSuitProperties[i] = new EquipSuitPropertyEntry() 
 | 
    //             { 
 | 
    //                 type = EquipSuitType.TwoSuit, 
 | 
    //                 actived = actived, 
 | 
    //                 properties = properties, 
 | 
    //             }; 
 | 
  
 | 
    //             eightSuits[i] = eightSuitLevel >= i; 
 | 
    //         } 
 | 
  
 | 
    //         suitInfo = new SuitInfo() 
 | 
    //         { 
 | 
    //             name = name, 
 | 
    //             level = level, 
 | 
    //             job = job, 
 | 
    //             maxSuitLevel = maxSuitLevel, 
 | 
    //             places = info.suitPlaces, 
 | 
    //             placeStars = info.placeStars, 
 | 
    //             twoSuitProperties = twoSuitProperties, 
 | 
    //             fiveSuitProperties = fiveSuitProperties, 
 | 
    //             eightSuits = eightSuits 
 | 
    //         }; 
 | 
    //     } 
 | 
  
 | 
    //     var starInfo = new StarInfo() 
 | 
    //     { 
 | 
    //         equipPosition = new Int2(config.LV, config.EquipPlace), 
 | 
    //         starLevel = info.starLevel, 
 | 
    //         maxLevel = config.LV == 0 ? 0 : EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV), 
 | 
    //     }; 
 | 
  
 | 
    //     var type = EquipStrengthModel.GetEquipStrengthType(config.EquipPlace); 
 | 
    //     var strengthenConfig = ItemPlusConfig.GetTypeAndLevel(type, info.strengthenLevel); 
 | 
    //     var strengthenProperties = new List<Int2>(); 
 | 
    //     for (int i = 0; i < strengthenConfig.attType.Length; i++) 
 | 
    //     { 
 | 
    //         strengthenProperties.Add(new Int2(strengthenConfig.attType[i], strengthenConfig.attValue[i])); 
 | 
    //     } 
 | 
    //     var strengthenProperty = new StrengthenProperty() 
 | 
    //     { 
 | 
    //         strengthenLevel = info.strengthenLevel, 
 | 
    //         properties = strengthenProperties, 
 | 
    //         equipPlace = config.EquipPlace, 
 | 
    //         evolveLevel = info.evolveLevel, 
 | 
    //     }; 
 | 
  
 | 
    //     var gemInfo = new GemInfo() 
 | 
    //     { 
 | 
    //         activeStates = info.gemHoleActiveStates, 
 | 
    //         gems = info.gems, 
 | 
    //     }; 
 | 
  
 | 
    //     var trainProperty = new TrainProperty() 
 | 
    //     { 
 | 
    //         properties = info.trainProperties, 
 | 
    //     }; 
 | 
  
 | 
    //     return new TipData() 
 | 
    //     { 
 | 
    //         itemId = info.itemId, 
 | 
    //         baseInfo = baseInfo, 
 | 
    //         baseProperty = baseProperty, 
 | 
    //         legendProperty = legendProperty, 
 | 
    //         skillInfo = skillInfo, 
 | 
    //         suitInfo = suitInfo, 
 | 
    //         starInfo = starInfo, 
 | 
    //         strengthenProperty = strengthenProperty, 
 | 
    //         gemInfo = gemInfo, 
 | 
    //         trainProperty = trainProperty, 
 | 
    //         shenProperty = GetShenProperty(info.itemId) 
 | 
    //     }; 
 | 
    // } 
 | 
  
 | 
    static TipData CreateGoodEquipData(int itemId, int goodId) 
 | 
    { 
 | 
        return new TipData() 
 | 
        { 
 | 
            itemId = itemId, 
 | 
            guid = string.Empty, 
 | 
            goodId = goodId, 
 | 
  
 | 
            baseInfo = GetBaseInfo(itemId), 
 | 
            baseProperty = GetBaseProperty(itemId), 
 | 
            //spiritWeaponProperty = GetSpiritWeaponProperty(itemId), 
 | 
            //legendProperty = GetLegendProperty(itemId), 
 | 
            skillInfo = GetSkillInfo(itemId), 
 | 
            //suitInfo = GetSuitInfo(itemId), 
 | 
            //gemInfo = GetGemInfo(itemId), 
 | 
            //starInfo = GetStarInfo(itemId), 
 | 
            operates = GetGoodOperates(goodId), 
 | 
            //shenProperty = GetShenProperty(itemId) 
 | 
        }; 
 | 
    } 
 | 
  
 | 
    // static TipData CreateEquipAuctionData(string guid, bool operatable) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(TipData); 
 | 
    //     } 
 | 
  
 | 
    //     var legendProperty = GetLegendProperty(guid); 
 | 
    //     if (legendProperty.properties.IsNullOrEmpty()) 
 | 
    //     { 
 | 
    //         legendProperty = GetLegendProperty(item.itemId); 
 | 
    //     } 
 | 
  
 | 
    //     return new TipData() 
 | 
    //     { 
 | 
    //         itemId = item.itemId, 
 | 
    //         guid = guid, 
 | 
  
 | 
    //         baseInfo = GetBaseInfo(guid), 
 | 
    //         baseProperty = GetBaseProperty(item.itemId), 
 | 
    //         spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), 
 | 
    //         legendProperty = legendProperty, 
 | 
    //         skillInfo = GetSkillInfo(item.itemId, guid), 
 | 
    //         suitInfo = GetSuitInfo(item.itemId), 
 | 
    //         operates = operatable ? GetOperates(guid) : null, 
 | 
  
 | 
    //         starInfo = GetStarInfo(guid), 
 | 
    //         gemInfo = GetGemInfo(guid), 
 | 
    //         shenProperty = GetShenProperty(item.itemId) 
 | 
    //     }; 
 | 
    // } 
 | 
  
 | 
    static TipData CreateItemData(string guid, bool operatable) 
 | 
    { 
 | 
        var item = PackManager.Instance.GetItemByGuid(guid); 
 | 
        if (item == null) 
 | 
        { 
 | 
            return default(TipData); 
 | 
        } 
 | 
  
 | 
        return new TipData() 
 | 
        { 
 | 
            itemId = item.itemId, 
 | 
            guid = guid, 
 | 
  
 | 
            baseInfo = GetBaseInfo(guid), 
 | 
            baseProperty = GetBaseProperty(item.itemId), 
 | 
            // spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), 
 | 
            // legendProperty = GetLegendProperty(guid), 
 | 
            // petMountBaseProperty = GetPetMountBaseProperty(item.itemId), 
 | 
            // operates = operatable ? GetOperates(guid) : null, 
 | 
            // refineMaterials = GetWingRefineMaterials(guid), 
 | 
            // shenProperty = GetShenProperty(item.itemId) 
 | 
        }; 
 | 
    } 
 | 
  
 | 
    static TipData CreateItemData(int itemId) 
 | 
    { 
 | 
        return new TipData() 
 | 
        { 
 | 
            itemId = itemId, 
 | 
            baseInfo = GetBaseInfo(itemId), 
 | 
            // baseProperty = GetBaseProperty(itemId), 
 | 
            exchangeItemId = itemId, 
 | 
            // spiritWeaponProperty = GetSpiritWeaponProperty(itemId), 
 | 
            // legendProperty = GetLegendProperty(itemId), 
 | 
            // petMountBaseProperty = GetPetMountBaseProperty(itemId), 
 | 
            // getWay = GetGetWay(itemId), 
 | 
            // shenProperty = GetShenProperty(itemId) 
 | 
        }; 
 | 
    } 
 | 
  
 | 
    static TipData CreateGoodItemData(int itemId, int goodId) 
 | 
    { 
 | 
        return new TipData() 
 | 
        { 
 | 
            itemId = itemId, 
 | 
            goodId = goodId, 
 | 
            baseInfo = GetBaseInfo(itemId), 
 | 
            baseProperty = GetBaseProperty(itemId), 
 | 
            // legendProperty = GetLegendProperty(itemId), 
 | 
            // spiritWeaponProperty = GetSpiritWeaponProperty(itemId), 
 | 
            // petMountBaseProperty = GetPetMountBaseProperty(itemId), 
 | 
            operates = GetGoodOperates(goodId), 
 | 
            // shenProperty = GetShenProperty(itemId) 
 | 
        }; 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    // public static void Operate(ItemOperateType type, string guid) 
 | 
    // { 
 | 
    //     switch (type) 
 | 
    //     { 
 | 
    //         case ItemOperateType.putOn: 
 | 
    //             ItemOperateUtility.Instance.PutOnItem(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.gotoPuton: 
 | 
    //             ItemOperateUtility.Instance.PutOnItem(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.putOff: 
 | 
    //             ItemOperateUtility.Instance.PutOffEquip(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.putAway: 
 | 
    //             ItemOperateUtility.Instance.PutAway(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.putIn: 
 | 
    //             ItemOperateUtility.Instance.PutInWareHouse(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.putOut: 
 | 
    //             ItemOperateUtility.Instance.TakeOutFromWarehouse(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.sell: 
 | 
    //             ItemOperateUtility.Instance.SellItem(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.strength: 
 | 
    //             ItemOperateUtility.Instance.GotoStrengthen(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.star: 
 | 
    //             ItemOperateUtility.Instance.GotoStarUpgrade(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.inlay: 
 | 
    //             ItemOperateUtility.Instance.GotoInlayItem(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.train: 
 | 
    //             ItemOperateUtility.Instance.GotoTrain(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.makeUse: 
 | 
    //             ItemOperateUtility.Instance.GotoUseItem(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.split: 
 | 
    //             ItemOperateUtility.Instance.OnClickSplitBtn(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.compose: 
 | 
    //             var wannaComposeItem = packModel.GetItemByGuid(guid); 
 | 
    //             var jumpId = 0; 
 | 
    //             var isUnlock = composeModel.CheckComposeItemById(wannaComposeItem.itemId, out jumpId); 
 | 
    //             if (isUnlock) 
 | 
    //             { 
 | 
    //                 ItemOperateUtility.Instance.GotoComposeItem(jumpId); 
 | 
    //             } 
 | 
    //             break; 
 | 
    //         case ItemOperateType.renewal: 
 | 
    //             ItemOperateUtility.Instance.RenewalItem(guid); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.exchange: 
 | 
    //             WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.ExchangeActiveToken); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.lsExchange: 
 | 
    //             WindowCenter.Instance.Open<LingShiChange>(); 
 | 
    //             break; 
 | 
    //         case ItemOperateType.default1: 
 | 
    //             var item = packModel.GetItemByGuid(guid); 
 | 
    //             if (item == null) 
 | 
    //             { 
 | 
    //                 break; 
 | 
    //             } 
 | 
  
 | 
    //             EquipEvolveModel.Instance.EquipJump(item.config.LV, item.config.EquipPlace); 
 | 
    //             WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)2013); 
 | 
    //             break; 
 | 
    //     } 
 | 
    // } 
 | 
  
 | 
    // public static void GoodOperate(ItemOperateType type, int goodId, int count) 
 | 
    // { 
 | 
    //     var config = StoreConfig.Get(goodId); 
 | 
    //     storeModel.SendBuyShopItem(config, count); 
 | 
    // } 
 | 
  
 | 
  
 | 
    private static BaseInfo GetBaseInfo(int itemId) 
 | 
    { 
 | 
        var config = ItemConfig.Get(itemId); 
 | 
        var money = 0; 
 | 
        if (config.Type == 81) 
 | 
        { 
 | 
            var chestConfig = ChestsConfig.Get(itemId); 
 | 
            money = chestConfig.OpenMoney; 
 | 
        } 
 | 
  
 | 
        var baseInfo = new BaseInfo() 
 | 
        { 
 | 
            itemId = itemId, 
 | 
            isAuction = false, 
 | 
            isEquiped = false, 
 | 
            isPreview = true, 
 | 
            //score = ItemLogicUtility.Instance.GetEquipScore(itemId, null, true), 
 | 
            auctionSurplusTime = 0, 
 | 
            levelLimit = config.UseLV, 
 | 
            moneyLimit = money, 
 | 
        }; 
 | 
  
 | 
        return baseInfo; 
 | 
    } 
 | 
  
 | 
    private static BaseInfo GetBaseInfo(string guid) 
 | 
    { 
 | 
        var item = PackManager.Instance.GetItemByGuid(guid); 
 | 
  
 | 
        var level = item.config.LV; 
 | 
        var place = item.config.EquipPlace; 
 | 
  
 | 
        var isEquiped = false;// equipModel.GetEquip(new Int2(level, place)) == guid; 
 | 
  
 | 
        // var type = EquipStrengthModel.GetEquipStrengthType(place); 
 | 
        var star = 0; //starModel.GetEquipStarLevel(new Int2(level, place)); 
 | 
        var maxStrengthenLevel = 0; //strengthenModel.GetEquipLevelMax(type, level); 
 | 
        var placeStrengthenLevel = 0;   //strengthenModel.GetStrengthLevel(level, place); 
 | 
  
 | 
        var money = 0; 
 | 
        // if (item.config.Type == 81) 
 | 
        // { 
 | 
        //     var chestConfig = ChestsConfig.Get(item.itemId); 
 | 
        //     money = chestConfig.OpenMoney; 
 | 
        // } 
 | 
  
 | 
        var baseInfo = new BaseInfo() 
 | 
        { 
 | 
            itemId = item.itemId, 
 | 
            count = item.count, 
 | 
            isAuction = item.isAuction, 
 | 
            isEquiped = isEquiped, 
 | 
            isPreview = false, 
 | 
            isOverdue = ItemLogicUtility.Instance.IsOverdue(guid), 
 | 
            auctionSurplusTime = item.isAuction ? item.auctionSurplusTime : 0, 
 | 
            overdueSurplusTime = item.overdueSurplusTime, 
 | 
            levelLimit = item.isAuction ? 0 : item.config.UseLV, 
 | 
            star = isEquiped ? star : -1, 
 | 
            strengthenLevel = isEquiped ? Mathf.Min(placeStrengthenLevel, maxStrengthenLevel) : 0, 
 | 
            moneyLimit = money, 
 | 
        }; 
 | 
  
 | 
        return baseInfo; 
 | 
    } 
 | 
  
 | 
    private static BaseProperty GetBaseProperty(int itemId) 
 | 
    { 
 | 
        var baseProperties = new List<Int2>(); 
 | 
        var config = ItemConfig.Get(itemId); 
 | 
  
 | 
        if (config.Effect1 == 220) 
 | 
        { 
 | 
            return GetBaseProperty(config.EffectValueA1); 
 | 
        } 
 | 
  
 | 
        if (!ItemLogicUtility.Instance.IsDogzEquip(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 = PackManager.Instance.GetItemByGuid(guid); 
 | 
        var equipPosition = new Int2(item.config.LV, item.config.EquipPlace); 
 | 
        var equiped = true;//equipModel.GetEquip(equipPosition) == guid; 
 | 
  
 | 
        var baseProperty = GetBaseProperty(item.itemId); 
 | 
  
 | 
        if (equiped) 
 | 
        { 
 | 
            var starProperties = new List<Int2>(); 
 | 
            // var currentStar = starModel.GetEquipStarLevel(equipPosition); 
 | 
            // var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); 
 | 
            // var star = Mathf.Min(currentStar, maxStar); 
 | 
            // if (star > 0) 
 | 
            // { 
 | 
            //     baseProperty.star = star; 
 | 
            //     var starConfig = EquipStarConfig.Get(item.config.LV, item.config.EquipPlace, star); 
 | 
            //     starProperties.AddRange(starConfig.BaseAttrInfo); 
 | 
            // } 
 | 
  
 | 
            baseProperty.starProperties = starProperties; 
 | 
        } 
 | 
  
 | 
        return baseProperty; 
 | 
    } 
 | 
  
 | 
    // private static BaseProperty GetPetMountBaseProperty(int itemId) 
 | 
    // { 
 | 
    //     var config = ItemConfig.Get(itemId); 
 | 
    //     var baseProperty = new BaseProperty(); 
 | 
    //     Dictionary<int, int> properties = null; 
 | 
    //     switch (config.Type) 
 | 
    //     { 
 | 
    //         case 26: 
 | 
    //             var petId = PetInfoConfig.GetItemUnLockPet(itemId); 
 | 
    //             properties = petModel.GetPetAttrAddDict(petId); 
 | 
    //             break; 
 | 
    //         case 41: 
 | 
    //         case 42: 
 | 
    //             var horseId = HorseConfig.GetItemUnLockHorse(itemId); 
 | 
    //             properties = mountModel.GetMountAttrAddDict(horseId); 
 | 
    //             break; 
 | 
    //         default: 
 | 
    //             break; 
 | 
    //     } 
 | 
  
 | 
    //     if (properties != null) 
 | 
    //     { 
 | 
    //         baseProperty.baseProperties = new List<Int2>(); 
 | 
    //         foreach (var property in properties) 
 | 
    //         { 
 | 
    //             baseProperty.baseProperties.Add(new Int2(property.Key, property.Value)); 
 | 
    //         } 
 | 
    //     } 
 | 
  
 | 
    //     return baseProperty; 
 | 
    // } 
 | 
  
 | 
    // //神装属性 
 | 
    // private static ShenProperty GetShenProperty(int itemId) 
 | 
    // { 
 | 
    //     var data = new ShenProperty(); 
 | 
    //     data.isPreview = true; 
 | 
    //     data.itemId = itemId; 
 | 
  
 | 
    //     var config = ItemConfig.Get(itemId); 
 | 
  
 | 
    //     data.properties = ShenPropertyUtility.GetEquipShenProperties(itemId); 
 | 
  
 | 
  
 | 
    //     return data; 
 | 
    // } 
 | 
  
 | 
  
 | 
    // private static LegendProperty GetLegendProperty(int itemId) 
 | 
    // { 
 | 
    //     var data = new LegendProperty(); 
 | 
    //     data.isPreview = true; 
 | 
    //     data.itemId = itemId; 
 | 
  
 | 
    //     var config = ItemConfig.Get(itemId); 
 | 
    //     if (config.Effect1 == 220) 
 | 
    //     { 
 | 
    //         data.isPreview = false; 
 | 
    //         var appConfig = AppointItemConfig.Get(itemId); 
 | 
    //         data.trueCount = 0; 
 | 
  
 | 
    //         data.properties = new List<Int2>(); 
 | 
    //         for (var i = 0; i < appConfig.LegendAttrID.Length; i++) 
 | 
    //         { 
 | 
    //             data.properties.Add(new Int2(appConfig.LegendAttrID[i], appConfig.LegendAttrValue[i])); 
 | 
    //         } 
 | 
    //     } 
 | 
    //     else 
 | 
    //     { 
 | 
    //         data.properties = LegendPropertyUtility.GetLegendProFromEquipShen(itemId); 
 | 
    //         if (data.properties != null) 
 | 
    //         { 
 | 
    //             data.trueCount = 0; 
 | 
    //             data.isPreview = false; 
 | 
    //         } 
 | 
    //         else 
 | 
    //         { 
 | 
    //             data.trueCount = LegendPropertyUtility.GetEquipPropertyCount(itemId); 
 | 
    //             data.properties = LegendPropertyUtility.GetEquipProperties(itemId); 
 | 
    //         } 
 | 
    //     } 
 | 
  
 | 
    //     return data; 
 | 
    // } 
 | 
  
 | 
    // private static SpiritWeaponProperty GetSpiritWeaponProperty(int itemId) 
 | 
    // { 
 | 
    //     var config = SpiritWeaponConfig.Get(itemId); 
 | 
    //     if (config == null) 
 | 
    //     { 
 | 
    //         return default(SpiritWeaponProperty); 
 | 
    //     } 
 | 
  
 | 
    //     var properties = new List<Int3>(); 
 | 
    //     for (var i = 0; i < config.AttrIDList.Length; i++) 
 | 
    //     { 
 | 
    //         properties.Add(new Int3(config.AttrIDList[i], config.AttrValueList[i], config.AttrColorList[i])); 
 | 
    //     } 
 | 
  
 | 
    //     var spiritWeaponProperty = new SpiritWeaponProperty(); 
 | 
    //     spiritWeaponProperty.itemId = itemId; 
 | 
    //     spiritWeaponProperty.properties = properties; 
 | 
    //     return spiritWeaponProperty; 
 | 
    // } 
 | 
  
 | 
    // private static LegendProperty GetLegendProperty(string guid) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(LegendProperty); 
 | 
    //     } 
 | 
  
 | 
    //     var data = new LegendProperty(); 
 | 
    //     data.isPreview = false; 
 | 
    //     data.itemId = item.itemId; 
 | 
  
 | 
    //     var ids = item.GetUseData((int)ItemUseDataKey.legendAttrID); 
 | 
    //     var values = item.GetUseData((int)ItemUseDataKey.legendAttrValue); 
 | 
    //     if (!ids.IsNullOrEmpty() && !values.IsNullOrEmpty()) 
 | 
    //     { 
 | 
    //         var properties = new List<Int2>(); 
 | 
    //         var count = Mathf.Min(ids.Count, values.Count); 
 | 
    //         for (int i = 0; i < count; i++) 
 | 
    //         { 
 | 
    //             properties.Add(new Int2(ids[i], values[i])); 
 | 
    //         } 
 | 
  
 | 
    //         data.properties = properties; 
 | 
    //     } 
 | 
  
 | 
    //     return data; 
 | 
    // } 
 | 
  
 | 
    public static LegendProperty GetLegendProperty(int itemId, Dictionary<int, List<int>> userData) 
 | 
    { 
 | 
        var data = new LegendProperty(); 
 | 
        data.isPreview = false; 
 | 
        data.itemId = itemId; 
 | 
  
 | 
        List<int> ids = null; 
 | 
        List<int> values = null; 
 | 
        if (userData != null) 
 | 
        { 
 | 
            userData.TryGetValue((int)ItemUseDataKey.legendAttrID, out ids); 
 | 
            userData.TryGetValue((int)ItemUseDataKey.legendAttrValue, out values); 
 | 
        } 
 | 
        if (!ids.IsNullOrEmpty() && !values.IsNullOrEmpty()) 
 | 
        { 
 | 
            var properties = new List<Int2>(); 
 | 
            var count = Mathf.Min(ids.Count, values.Count); 
 | 
            for (int i = 0; i < count; i++) 
 | 
            { 
 | 
                properties.Add(new Int2(ids[i], values[i])); 
 | 
            } 
 | 
  
 | 
            data.properties = properties; 
 | 
        } 
 | 
  
 | 
        return data; 
 | 
    } 
 | 
  
 | 
    // public static SuitInfo GetSuitInfo(int itemId) 
 | 
    // { 
 | 
    //     var config = ItemConfig.Get(itemId); 
 | 
    //     if (config == null || config.SuiteiD <= 0) 
 | 
    //     { 
 | 
    //         return default(SuitInfo); 
 | 
    //     } 
 | 
  
 | 
    //     var job = config.JobLimit; 
 | 
    //     var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); 
 | 
  
 | 
    //     var name = twoConfigs[0].name; 
 | 
    //     var level = config.LV; 
 | 
    //     var places = new List<int>(); 
 | 
    //     places.Add(config.EquipPlace); 
 | 
    //     //var suitInfo = new SuitInfo() 
 | 
    //     //{ 
 | 
    //     //    name = name, 
 | 
    //     //    level = level, 
 | 
    //     //    job = job, 
 | 
    //     //    places = places, 
 | 
    //     //}; 
 | 
    //     var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level); 
 | 
  
 | 
    //     var placeStars = new Dictionary<int, int>(); 
 | 
    //     for (int i = 1; i <= 8; i++) 
 | 
    //     { 
 | 
    //         var equip = packModel.GetItemByGuid(equipModel.GetEquip(new Int2(level, i))); 
 | 
    //         var hasSuit = equip != null && equip.config.SuiteiD > 0; 
 | 
    //         if (hasSuit) 
 | 
    //         { 
 | 
    //             placeStars[i] = starModel.GetEquipStarLevel(new Int2(level, 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); 
 | 
  
 | 
    //     var twoSuitProperties0 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit); 
 | 
    //     var fiveSuitProperties0 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit); 
 | 
  
 | 
  
 | 
    //     twoSuitProperties[0] = twoSuitProperties0; 
 | 
    //     fiveSuitProperties[0] = fiveSuitProperties0; 
 | 
    //     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, 
 | 
    //         job = job, 
 | 
    //         maxSuitLevel = maxSuitLevel, 
 | 
    //         places = places, 
 | 
    //         placeStars = placeStars, 
 | 
    //         twoSuitProperties = twoSuitProperties, 
 | 
    //         fiveSuitProperties = fiveSuitProperties, 
 | 
    //         eightSuits = eightSuits 
 | 
    //     }; 
 | 
    //     return suitInfo; 
 | 
    // } 
 | 
  
 | 
    // private static SuitInfo GetSuitInfo(string guid) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(SuitInfo); 
 | 
    //     } 
 | 
  
 | 
    //     var config = ItemConfig.Get(item.itemId); 
 | 
    //     if (config == null || config.SuiteiD <= 0) 
 | 
    //     { 
 | 
    //         return default(SuitInfo); 
 | 
    //     } 
 | 
  
 | 
    //     var equipPosition = new Int2(item.config.LV, item.config.EquipPlace); 
 | 
    //     var equiped = equipModel.GetEquip(equipPosition) == guid; 
 | 
  
 | 
    //     var job = config.JobLimit; 
 | 
    //     var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); 
 | 
    //     var name = twoConfigs[0].name; 
 | 
  
 | 
    //     var level = config.LV; 
 | 
    //     var maxSuitLevel = equiped ? EquipStarModel.GetMaxStarLevel(level) : -1; 
 | 
  
 | 
    //     var places = new List<int>(); 
 | 
    //     var placeStars = new Dictionary<int, int>(); 
 | 
    //     if (equiped) 
 | 
    //     { 
 | 
    //         for (int i = 1; i <= 8; i++) 
 | 
    //         { 
 | 
    //             var equip = packModel.GetItemByGuid(equipModel.GetEquip(new Int2(level, i))); 
 | 
    //             var hasSuit = equip != null && equip.config.SuiteiD > 0; 
 | 
    //             if (hasSuit) 
 | 
    //             { 
 | 
    //                 places.Add(i); 
 | 
    //                 placeStars[i] = starModel.GetEquipStarLevel(new Int2(level, i)); 
 | 
    //             } 
 | 
    //         } 
 | 
    //     } 
 | 
  
 | 
    //     var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); 
 | 
    //     var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); 
 | 
    //     var eightSuits = new Dictionary<int, bool>(); 
 | 
    //     var eightSuitLevel = equiped ? equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit) : -1; 
 | 
  
 | 
    //     if (!equiped) 
 | 
    //     { 
 | 
    //         var suit2 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit); 
 | 
    //         suit2.actived = false; 
 | 
    //         var suit5 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit); 
 | 
    //         suit5.actived = false; 
 | 
    //         twoSuitProperties[0] = suit2; 
 | 
    //         fiveSuitProperties[0] = suit5; 
 | 
    //         eightSuits[0] = eightSuitLevel >= 0; 
 | 
    //     } 
 | 
    //     else 
 | 
    //     { 
 | 
    //         foreach (var star in EquipStarModel.StarList) 
 | 
    //         { 
 | 
    //             if (maxSuitLevel >= star) 
 | 
    //             { 
 | 
    //                 twoSuitProperties[star] = equipModel.GetEquipSuitEntry(config.LV, star, EquipSuitType.TwoSuit); 
 | 
    //                 fiveSuitProperties[star] = equipModel.GetEquipSuitEntry(config.LV, star, EquipSuitType.FiveSuit); 
 | 
    //                 eightSuits[star] = eightSuitLevel >= star; 
 | 
    //             } 
 | 
    //         } 
 | 
    //     } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    //     var suitInfo = new SuitInfo() 
 | 
    //     { 
 | 
    //         name = name, 
 | 
    //         level = level, 
 | 
    //         job = job, 
 | 
    //         maxSuitLevel = maxSuitLevel, 
 | 
    //         places = places, 
 | 
    //         placeStars = placeStars, 
 | 
    //         twoSuitProperties = twoSuitProperties, 
 | 
    //         fiveSuitProperties = fiveSuitProperties, 
 | 
    //         eightSuits = eightSuits 
 | 
    //     }; 
 | 
  
 | 
    //     return suitInfo; 
 | 
    // } 
 | 
  
 | 
    // private static StarInfo GetStarInfo(int itemId) 
 | 
    // { 
 | 
    //     var config = ItemConfig.Get(itemId); 
 | 
    //     if (!EquipModel.IsRealmEquip(config.EquipPlace)) 
 | 
    //     { 
 | 
    //         return default(StarInfo); 
 | 
    //     } 
 | 
  
 | 
    //     var starInfo = new StarInfo(); 
 | 
    //     starInfo.equipPosition = new Int2(config.LV, config.EquipPlace); 
 | 
    //     starInfo.maxLevel = EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV); 
 | 
    //     starInfo.starLevel = 0; 
 | 
  
 | 
    //     return starInfo; 
 | 
    // } 
 | 
  
 | 
    // private static StarInfo GetStarInfo(string guid) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(StarInfo); 
 | 
    //     } 
 | 
  
 | 
    //     if (!EquipModel.IsRealmEquip(item.config.EquipPlace)) 
 | 
    //     { 
 | 
    //         return default(StarInfo); 
 | 
    //     } 
 | 
  
 | 
    //     var starInfo = new StarInfo(); 
 | 
    //     var equipPosition = new Int2(item.config.LV, item.config.EquipPlace); 
 | 
    //     var equiped = equipModel.GetEquip(equipPosition) == guid; 
 | 
    //     starInfo.equipPosition = equipPosition; 
 | 
    //     starInfo.maxLevel = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); 
 | 
    //     starInfo.starLevel = equiped ? starModel.GetStarLevel(equipPosition) : 0; 
 | 
  
 | 
    //     return starInfo; 
 | 
    // } 
 | 
  
 | 
    // private static StrengthenProperty GetStrengthenProperty(string guid) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(StrengthenProperty); 
 | 
    //     } 
 | 
  
 | 
    //     var level = item.config.LV; 
 | 
    //     var place = item.config.EquipPlace; 
 | 
    //     var equiped = equipModel.GetEquip(new Int2(level, place)) == guid; 
 | 
    //     if (!equiped) 
 | 
    //     { 
 | 
    //         return default(StrengthenProperty); 
 | 
    //     } 
 | 
  
 | 
    //     var data = new StrengthenProperty(); 
 | 
  
 | 
    //     var strengthenLevel = strengthenModel.GetStrengthLevel(level, place); 
 | 
  
 | 
    //     var type = EquipStrengthModel.GetEquipStrengthType(place); 
 | 
    //     var maxStrengthenLevel = strengthenModel.GetEquipLevelMax(type, level); 
 | 
  
 | 
    //     data.strengthenLevel = Mathf.Min(strengthenLevel, maxStrengthenLevel); 
 | 
    //     data.evolveLevel = strengthenModel.GetStrengthEvolveLevel(level, place); 
 | 
    //     data.equipPlace = place; 
 | 
  
 | 
    //     data.properties = new List<Int2>(); 
 | 
    //     var config = ItemPlusConfig.GetTypeAndLevel(type, data.strengthenLevel); 
 | 
    //     for (int i = 0; i < config.attType.Length; i++) 
 | 
    //     { 
 | 
    //         data.properties.Add(new Int2(config.attType[i], config.attValue[i])); 
 | 
    //     } 
 | 
  
 | 
    //     return data; 
 | 
    // } 
 | 
  
 | 
    // private static GemInfo GetGemInfo(int itemId) 
 | 
    // { 
 | 
    //     var config = ItemConfig.Get(itemId); 
 | 
    //     var level = config.LV; 
 | 
    //     var place = config.EquipPlace; 
 | 
  
 | 
    //     var gemInfo = new GemInfo(); 
 | 
    //     var maxStar = EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV); 
 | 
    //     gemInfo.activeStates = new Dictionary<int, bool>(); 
 | 
    //     for (int i = 0; i < 4; i++) 
 | 
    //     { 
 | 
    //         gemInfo.activeStates[i] = IsEquipGemHoleOpen(new Int2(level, place), maxStar, i); 
 | 
    //     } 
 | 
  
 | 
    //     return gemInfo; 
 | 
    // } 
 | 
  
 | 
    // private static GemInfo GetGemInfo(string guid) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(GemInfo); 
 | 
    //     } 
 | 
  
 | 
    //     var level = item.config.LV; 
 | 
    //     var place = item.config.EquipPlace; 
 | 
  
 | 
    //     var gemInfo = new GemInfo(); 
 | 
    //     var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); 
 | 
    //     gemInfo.activeStates = new Dictionary<int, bool>(); 
 | 
    //     for (int i = 0; i < 4; i++) 
 | 
    //     { 
 | 
    //         gemInfo.activeStates[i] = IsEquipGemHoleOpen(new Int2(level, place), maxStar, i); 
 | 
    //     } 
 | 
  
 | 
    //     gemInfo.gems = new Dictionary<int, int>(); 
 | 
    //     if (item.packType == PackType.Equip) 
 | 
    //     { 
 | 
    //         int[] gems; 
 | 
    //         if (gemModel.TryGetEquipGems(item.config.LV, item.config.EquipPlace, out gems)) 
 | 
    //         { 
 | 
    //             for (int i = 0; i < gems.Length; i++) 
 | 
    //             { 
 | 
    //                 gemInfo.gems[i] = gems[i]; 
 | 
    //             } 
 | 
    //         } 
 | 
    //     } 
 | 
  
 | 
    //     return gemInfo; 
 | 
    // } 
 | 
  
 | 
    // private static TrainProperty GetTrainProperty(string guid) 
 | 
    // { 
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return default(TrainProperty); 
 | 
    //     } 
 | 
  
 | 
    //     var equipPosition = new Int2(item.config.LV, item.config.EquipPlace); 
 | 
    //     var equiped = equipModel.GetEquip(equipPosition) == guid; 
 | 
    //     if (!equiped) 
 | 
    //     { 
 | 
    //         return default(TrainProperty); 
 | 
    //     } 
 | 
  
 | 
    //     var trainProperty = new TrainProperty(); 
 | 
    //     var star = Mathf.Min(EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV), starModel.GetEquipStarLevel(equipPosition)); 
 | 
    //     var type = EquipTrainModel.GetTrainType(equipPosition.y); 
 | 
    //     var maxConfig = WashLevelMaxConfig.Get(type, star); 
 | 
    //     var maxLevel = maxConfig == null ? 1 : maxConfig.levelMax; 
 | 
    //     var trainLevel = Mathf.Min(maxLevel, trainModel.GetTrainLevel(equipPosition)); 
 | 
    //     trainProperty.level = trainLevel; 
 | 
  
 | 
    //     var trainConfig = EquipWashConfig.Get(type, trainLevel); 
 | 
    //     trainProperty.properties = new List<Int2>(); 
 | 
  
 | 
    //     if (trainConfig == null) 
 | 
    //     { 
 | 
    //         var trainConfigLevel1 = EquipWashConfig.Get(type, 1); 
 | 
    //         trainProperty.properties.Add(new Int2(trainConfigLevel1.config.attType1, 0)); 
 | 
    //         trainProperty.properties.Add(new Int2(trainConfigLevel1.config.attType2, 0)); 
 | 
    //         //trainProperty.properties.Add(new Int2(trainConfigLevel1.config.attType3, 0)); 
 | 
    //     } 
 | 
    //     else 
 | 
    //     { 
 | 
    //         var trainedProperties = trainModel.GetTrainedProperties(equipPosition); 
 | 
    //         trainProperty.properties.Add(new Int2(trainConfig.config.attType1, Mathf.Min(trainedProperties.x, trainConfig.config.attMax1))); 
 | 
    //         trainProperty.properties.Add(new Int2(trainConfig.config.attType2, Mathf.Min(trainedProperties.y, trainConfig.config.attMax2))); 
 | 
    //         //trainProperty.properties.Add(new Int2(trainConfig.config.attType3, Mathf.Min(trainedProperties.z, trainConfig.config.attMax3))); 
 | 
    //     } 
 | 
  
 | 
    //     return trainProperty; 
 | 
    // } 
 | 
  
 | 
    private static SkillInfo GetSkillInfo(int itemId) 
 | 
    { 
 | 
        var config = ItemConfig.Get(itemId); 
 | 
        if (config == null) 
 | 
        { 
 | 
            return default(SkillInfo); 
 | 
        } 
 | 
  
 | 
        var skillInfo = new SkillInfo(); 
 | 
        skillInfo.skills = new List<int>(); 
 | 
  
 | 
        if (config.AddSkill1 != 0) 
 | 
        { 
 | 
            skillInfo.skills.Add(config.AddSkill1); 
 | 
        } 
 | 
  
 | 
        if (config.AddSkill2 != 0) 
 | 
        { 
 | 
            skillInfo.skills.Add(config.AddSkill2); 
 | 
        } 
 | 
  
 | 
        return skillInfo; 
 | 
    } 
 | 
  
 | 
  
 | 
    private static SkillInfo GetSkillInfo(int itemId, CustomEquipInfo info) 
 | 
    { 
 | 
        var skillInfo = new SkillInfo(); 
 | 
        skillInfo.skills = new List<int>(); 
 | 
        if (!info.equipSkillList.IsNullOrEmpty()) 
 | 
        { 
 | 
            skillInfo.skills = info.equipSkillList; 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            return GetSkillInfo(itemId); 
 | 
        } 
 | 
        return skillInfo; 
 | 
    } 
 | 
  
 | 
    // private static SkillInfo GetSkillInfo(int itemId, string guid) 
 | 
    // { 
 | 
  
 | 
    //     var skillInfo = new SkillInfo(); 
 | 
    //     skillInfo.skills = new List<int>(); 
 | 
  
 | 
    //     var item = packModel.GetItemByGuid(guid); 
 | 
    //     if (item == null) 
 | 
    //     { 
 | 
    //         return GetSkillInfo(itemId); 
 | 
    //     } 
 | 
  
 | 
    //     var values = item.GetUseData((int)ItemUseDataKey.equipSkills); 
 | 
    //     if (!values.IsNullOrEmpty()) 
 | 
    //     { 
 | 
    //         skillInfo.skills = values; 
 | 
    //     } 
 | 
    //     else 
 | 
    //     { 
 | 
    //         return GetSkillInfo(itemId); 
 | 
    //     } 
 | 
  
 | 
    //     return skillInfo; 
 | 
    // } 
 | 
  
 | 
  
 | 
  
 | 
    // private static GetWay GetGetWay(int itemId) 
 | 
    // { 
 | 
    //     var config = ItemConfig.Get(itemId); 
 | 
    //     if (config == null) 
 | 
    //     { 
 | 
    //         return default(GetWay); 
 | 
    //     } 
 | 
  
 | 
    //     var getWay = new GetWay(); 
 | 
    //     getWay.itemId = itemId; 
 | 
    //     getWay.ways = new List<int>(); 
 | 
    //     foreach (var way in config.GetWay) 
 | 
    //     { 
 | 
    //         var wayConfig = GetItemWaysConfig.Get(way); 
 | 
    //         if (wayConfig.FuncOpenId == 0 || FuncOpen.Instance.IsFuncOpen(wayConfig.FuncOpenId)) 
 | 
    //         { 
 | 
    //             int activityType = 0;  // 活动模板 参考OpenServerActivityCenter.ActivityType 
 | 
    //             if (wayConfig.customize == 2) 
 | 
    //             { 
 | 
    //                 activityType = (int)OpenServerActivityCenter.ActivityType.AT_JRZF; 
 | 
    //             } 
 | 
    //             else if (wayConfig.customize == 3) 
 | 
    //             { 
 | 
    //                 activityType = (int)OpenServerActivityCenter.ActivityType.AT_HFHD; 
 | 
    //             } 
 | 
    //             if (wayConfig.ActiveType == -1 || OpenServerActivityCenter.Instance.IsActivityOpen(wayConfig.ActiveType, activityType)) 
 | 
    //             { 
 | 
    //                 getWay.ways.Add(way); 
 | 
    //             } 
 | 
    //         } 
 | 
    //     } 
 | 
  
 | 
    //     return getWay; 
 | 
    // } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    private static List<ItemOperateType> GetGoodOperates(int goodId) 
 | 
    { 
 | 
        var operates = new List<ItemOperateType>(); 
 | 
        var countLimit = BuyItemController.Instance.GetBuyCountLimit(goodId, PlayerDatas.Instance.baseData.VIPLv); 
 | 
        if (countLimit == -1 || countLimit > 0) 
 | 
        { 
 | 
            var config = StoreConfig.Get(goodId); 
 | 
            int curVipIndex = -1; 
 | 
            int nextVipIndex = -1; 
 | 
            bool isVipBuy = BuyItemController.Instance.CheckIsVipBuy(config, out curVipIndex, out nextVipIndex); 
 | 
  
 | 
            if ((isVipBuy && curVipIndex == -1) || PlayerDatas.Instance.baseData.LV < config.LV) 
 | 
            { 
 | 
                return operates; 
 | 
            } 
 | 
            operates.Add(ItemOperateType.buy); 
 | 
        } 
 | 
  
 | 
        return operates; 
 | 
    } 
 | 
  
 | 
    // private static bool IsEquipGemHoleOpen(Int2 equipPosition, int maxStar, int hole) 
 | 
    // { 
 | 
    //     GemHoleCondition condition; 
 | 
    //     if (gemModel.TryGetGemHoleCondition(hole, out condition)) 
 | 
    //     { 
 | 
    //         var star = starModel.GetStarLevel(equipPosition); 
 | 
    //         if (Mathf.Min(star, maxStar) < condition.equipStar) 
 | 
    //         { 
 | 
    //             return false; 
 | 
    //         } 
 | 
  
 | 
    //         var vipLevel = PlayerDatas.Instance.baseData.VIPLv; 
 | 
    //         if (vipLevel < condition.vipLevel) 
 | 
    //         { 
 | 
    //             return false; 
 | 
    //         } 
 | 
    //     } 
 | 
  
 | 
    //     return true; 
 | 
    // } 
 | 
  
 | 
    private static TipType GetTipType(int itemId) 
 | 
    { 
 | 
        var boxType = ChestsAwardConfig.GetBoxType(itemId); 
 | 
        if (boxType == 1) 
 | 
        { 
 | 
            return TipType.BoxItem; 
 | 
        } 
 | 
        else if (boxType == 2) 
 | 
        { 
 | 
            return TipType.BoxChooseItem; 
 | 
        } 
 | 
  
 | 
  
 | 
        var config = ItemConfig.Get(itemId); 
 | 
        switch (config.Type) 
 | 
        { 
 | 
            case 101: 
 | 
            case 102: 
 | 
            case 103: 
 | 
            case 104: 
 | 
            case 105: 
 | 
            case 106: 
 | 
            case 107: 
 | 
            case 108: 
 | 
            case 109: 
 | 
            case 110: 
 | 
            case 111: 
 | 
            case 112: 
 | 
                return TipType.Equip; 
 | 
            // case 26: 
 | 
            // case 41: 
 | 
            // case 42: 
 | 
            //     return TipType.PetMount; 
 | 
            case 147: 
 | 
                return TipType.TreasurePavilion; 
 | 
            default: 
 | 
                return TipType.Item; 
 | 
        } 
 | 
  
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    [System.Diagnostics.Conditional("UNITY_EDITOR")] 
 | 
    private static void PrintItemBrief(int itemId) 
 | 
    { 
 | 
        var config = ItemConfig.Get(itemId); 
 | 
        Debug.LogFormat("查看物品:itemId->{0} ;name->{1}", itemId, config.ItemName); 
 | 
    } 
 | 
  
 | 
    [System.Diagnostics.Conditional("UNITY_EDITOR")] 
 | 
    private static void PrintItemBrief(int itemId, ItemModel item) 
 | 
    { 
 | 
        var config = ItemConfig.Get(itemId); 
 | 
        Debug.LogFormat("查看物品:itemId->{0};name->{1};服务端索引->{3};guid->{2}", 
 | 
        itemId, config.ItemName, item.guid, item.gridIndex); 
 | 
    } 
 | 
  
 | 
} 
 |