//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, March 12, 2019 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using System.Linq; public class ItemTipUtility { public enum TipType { Item, Equip, Dogz, GatherSoul, //废弃 KingTreasure, //王者法宝tip PetMount, SpiritWeapon, PeerlessChest, TreasureShow, //其他法宝tip BoxItem, //宝箱物品 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 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 realmLimit; public int moneyLimit; public int evolveLevel; } public struct BaseProperty { public List baseProperties; public int star; public List starProperties; } public struct SpiritWeaponProperty { public int itemId; public List properties; } public struct LegendProperty { public bool isPreview; public int itemId; public int trueCount; public List properties; public int score; } //神装属性 public struct ShenProperty { public bool isPreview; public int itemId; public List properties; } public struct SuitInfo { public int job; public string name; public int level; public int maxSuitLevel; public List places; public Dictionary placeStars; // public Dictionary twoSuitProperties; // public Dictionary fiveSuitProperties; public Dictionary eightSuits; } public struct StarInfo { public Int2 equipPosition; public int starLevel; public int maxLevel; } public struct StrengthenProperty { public int strengthenLevel; public List properties; public int evolveLevel; public int equipPlace; } public struct GemInfo { public Dictionary activeStates; public Dictionary gems; } public struct TrainProperty { public int level; public List properties; } public struct SkillInfo { public List skills; } public struct WingRefineMaterials { public List materials; } public struct GetWay { public bool defaultUnfold; public int itemId; public List ways; } public struct CustomEquipInfo { public int job; public int itemId; public int score; public bool isEquiped; public List legendProperties; public List suitPlaces; public Dictionary placeStars; // public Dictionary suitLevels; public int strengthenLevel; public int starLevel; public List trainProperties; public Dictionary gemHoleActiveStates; public Dictionary gems; public List 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(); } } // static EquipModel equipModel { get { return ModelCenter.Instance.GetModel(); } } // static EquipStarModel starModel { get { return ModelCenter.Instance.GetModel(); } } // static EquipGemModel gemModel { get { return ModelCenter.Instance.GetModel(); } } // static EquipTrainModel trainModel { get { return ModelCenter.Instance.GetModel(); } } // static EquipStrengthModel strengthenModel { get { return ModelCenter.Instance.GetModel(); } } // static MountModel mountModel { get { return ModelCenter.Instance.GetModel(); } } // static PetModel petModel { get { return ModelCenter.Instance.GetModel(); } } // static ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel(); } } // static StoreModel storeModel { get { return ModelCenter.Instance.GetModel(); } } // static VirtualPackModel virtualPackModel { get { return ModelCenter.Instance.GetModel(); } } // static ItemOverdueModel itemOverdueModel { get { return ModelCenter.Instance.GetModel(); } } // static BoxGetItemModel boxGetItemModel { get { return ModelCenter.Instance.GetModel(); } } public static TipData mainTipData { get; private set; } public static TipData secondaryData { get; private set; } public static void Show(int itemId) { if (!ItemConfig.HasKey(itemId)) { Debug.LogErrorFormat("查无此物品:{0}", itemId); return; } Show(new ItemViewInfo() { itemId = itemId, }); } 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; // case TipType.Dogz: // mainTipData = CreateDogzEquipData(itemId); // break; // case TipType.PeerlessChest: // mainTipData = CreateItemData(itemId); // mainTipData.getWay = default(GetWay); // Dictionary selectItems; // if (boxGetItemModel.IsSelectItemByID(itemId, out selectItems)) // { // secondaryData = CreateNormalEquipData(selectItems.Keys.First()); // secondaryData.getWay = default(GetWay); // } // break; // default: // mainTipData = CreateItemData(itemId); // break; // } // mainTipData.getWay.defaultUnfold = item.unfoldGetWay; // switch (tipType) // { // case TipType.Equip: // WindowCenter.Instance.Open(); // break; // case TipType.Dogz: // WindowCenter.Instance.Open(); // break; // case TipType.KingTreasure: // var kingTreasureShow = ModelCenter.Instance.GetModel(); // kingTreasureShow.SetInitData(itemId); // break; // case TipType.PetMount: // WindowCenter.Instance.Open(); // break; // case TipType.SpiritWeapon: // WindowCenter.Instance.Open(); // break; // case TipType.PeerlessChest: // WindowCenter.Instance.Open(); // break; // case TipType.TreasureShow: // TreasureEffectModel effectModel = ModelCenter.Instance.GetModel(); // if (config.Effect1 == 232) // { // effectModel.SetTreasureID(config.EffectValueA1, 0); // } // break; // case TipType.BoxItem: // if (WindowCenter.Instance.IsOpen()) // { // WindowCenter.Instance.Open(); // } // else // { // WindowCenter.Instance.Open(); // } // break; // case TipType.TreasurePavilion: // TreasurePavilionModel.Instance.selectGubao = config.EffectValueA1; // TreasurePavilionModel.Instance.showTipFromPiece = config.ID; // WindowCenter.Instance.OpenIL(); // break; // default: // WindowCenter.Instance.Open(); // break; // } } // public static void Show(string guid, bool operatable = true) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return; // } // PrintItemBrief(item.itemId, guid); // secondaryData = null; // var tipType = GetTipType(item.itemId); // switch (tipType) // { // case TipType.Equip: // var packType = item.packType; // switch (packType) // { // case PackType.Equip: // mainTipData = CreateNormalEquipData(guid, operatable); // 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; // case TipType.Dogz: // mainTipData = CreateDogzEquipData(guid); // break; // default: // mainTipData = CreateItemData(guid, operatable); // break; // } // switch (tipType) // { // case TipType.Equip: // WindowCenter.Instance.Open(); // break; // case TipType.Dogz: // WindowCenter.Instance.Open(); // break; // case TipType.KingTreasure: // var kingTreasureShow = ModelCenter.Instance.GetModel(); // kingTreasureShow.SetInitData(item.itemId); // break; // case TipType.PetMount: // WindowCenter.Instance.Open(); // break; // case TipType.SpiritWeapon: // WindowCenter.Instance.Open(); // break; // case TipType.BoxItem: // if (WindowCenter.Instance.IsOpen()) // { // WindowCenter.Instance.Open(); // } // else // { // WindowCenter.Instance.Open(); // } // break; // case TipType.TreasurePavilion: // TreasurePavilionModel.Instance.selectGubao = item.config.EffectValueA1; // TreasurePavilionModel.Instance.showTipFromPiece = item.itemId; // WindowCenter.Instance.OpenIL(); // break; // default: // WindowCenter.Instance.Open(); // break; // } // } public static void ShowGood(int goodId, int itemId) { secondaryData = null; var isEquip = ItemLogicUtility.Instance.IsRealmEquip(itemId); if (isEquip) { mainTipData = CreateGoodEquipData(itemId, goodId); } else { mainTipData = CreateGoodItemData(itemId, goodId); } BuyItemController.Instance.SetGood(goodId); var itemConfig = ItemConfig.Get(itemId); if (isEquip) { // WindowCenter.Instance.Open(); } else { var tipType = GetTipType(itemId); // switch (tipType) // { // case TipType.PetMount: // WindowCenter.Instance.Open(); // break; // case TipType.BoxItem: // if (WindowCenter.Instance.IsOpen()) // { // WindowCenter.Instance.Open(); // } // else // { // WindowCenter.Instance.Open(); // } // break; // default: // WindowCenter.Instance.Open(); // break; // } } } // public static void ShowCustomEquip(CustomEquipInfo info) // { // secondaryData = null; // mainTipData = CreateCustomEquipData(info); // WindowCenter.Instance.Open(); // } // static TipData CreateNormalEquipData(string guid, bool operatable) // { // 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), // 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(); // 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(); // var fiveSuitProperties = new Dictionary(); // var eightSuits = new Dictionary(); // 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(); // 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(); // 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(); // 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 = packModel.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(); // 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, realmLimit = config.RealmLimit, moneyLimit = money, }; return baseInfo; } // private static BaseInfo GetBaseInfo(string guid) // { // var item = packModel.GetItemByGuid(guid); // var level = item.config.LV; // var place = item.config.EquipPlace; // var isEquiped = equipModel.GetEquip(new Int2(level, place)) == guid; // var type = EquipStrengthModel.GetEquipStrengthType(place); // var star = starModel.GetEquipStarLevel(new Int2(level, place)); // var maxStrengthenLevel = strengthenModel.GetEquipLevelMax(type, level); // var placeStrengthenLevel = 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, // score = item.score, // isOverdue = ItemLogicUtility.Instance.IsOverdue(guid), // auctionSurplusTime = item.isAuction ? item.auctionSurplusTime : 0, // overdueSurplusTime = item.overdueSurplusTime, // levelLimit = item.isAuction ? 0 : item.config.UseLV, // realmLimit = item.isAuction ? 0 : item.config.RealmLimit, // 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(); 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(); // 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 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(); // 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(); // 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(); // 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(); // 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> userData) { var data = new LegendProperty(); data.isPreview = false; data.itemId = itemId; List ids = null; List 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(); 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(); // 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(); // 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(); // var fiveSuitProperties = new Dictionary(); // var eightSuits = new Dictionary(); // 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(); // var placeStars = new Dictionary(); // 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(); // var fiveSuitProperties = new Dictionary(); // var eightSuits = new Dictionary(); // 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(); // 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(); // 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(); // for (int i = 0; i < 4; i++) // { // gemInfo.activeStates[i] = IsEquipGemHoleOpen(new Int2(level, place), maxStar, i); // } // gemInfo.gems = new Dictionary(); // 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(); // 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(); 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(); 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(); // 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 WingRefineMaterials GetWingRefineMaterials(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(WingRefineMaterials); // } // if (item.config.Type != 113) // { // return default(WingRefineMaterials); // } // var refineMaterials = new WingRefineMaterials(); // refineMaterials.materials = new List(); // var ids = item.GetUseData((int)ItemUseDataKey.wingMaterialItemID); // var values = item.GetUseData((int)ItemUseDataKey.wingMaterialItemCount); // if (!ids.IsNullOrEmpty() && !values.IsNullOrEmpty()) // { // var min = Mathf.Min(ids.Count, values.Count); // for (int i = 0; i < min; i++) // { // refineMaterials.materials.Add(new Int2(ids[i], values[i])); // } // } // return refineMaterials; // } // 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(); // 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 GetOperates(int itemId, int itemCount = 0) // { // var config = ItemConfig.Get(itemId); // var operates = new List(); // var lsItemID = 150; // if (config.CanSell == 1 && itemId != lsItemID) // { // operates.Add(ItemOperateType.sell); // } // // if (itemCount > 1 && itemId != lsItemID) // // { // // operates.Add(ItemOperateType.split); // // } // if (config.UseTag == 1) // { // if (itemId != lsItemID) // operates.Add(ItemOperateType.makeUse); // else // operates.Add(ItemOperateType.lsExchange); // } // if (config.Type == 25 || config.Effect1 == 225) // { // operates.Add(ItemOperateType.inlay); // } // if (!config.JumpComposeCondi.IsNullOrEmpty()) // { // var jumpId = 0; // if (composeModel.CheckComposeItemById(itemId, out jumpId)) // { // operates.Add(ItemOperateType.compose); // } // } // return operates; // } // private static List GetOperates(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return null; // } // var operates = new List(); // var packType = item.packType; // if (WindowCenter.Instance.IsOpen("DepotWin")) // { // switch (packType) // { // case PackType.Warehouse: // operates.Add(ItemOperateType.putOut); // break; // default: // operates.Add(ItemOperateType.putIn); // break; // } // return operates; // } // if (packType == PackType.Equip) // { // if (WindowCenter.Instance.IsOpen("RealmEquipWin")) // { // operates.Add(ItemOperateType.putOff); // if (FuncOpen.Instance.IsFuncOpen(1)) // { // operates.Add(ItemOperateType.strength); // } // if (FuncOpen.Instance.IsFuncOpen(172)) // { // operates.Add(ItemOperateType.star); // } // if (FuncOpen.Instance.IsFuncOpen(2)) // { // operates.Add(ItemOperateType.inlay); // } // if (FuncOpen.Instance.IsFuncOpen(91)) // { // int limitLevel = 0; // if (equipModel.EquipLevelFuncID != null) // limitLevel = equipModel.EquipLevelFuncID[91]; // if (item.config.LV >= limitLevel) // operates.Add(ItemOperateType.train); // } // if (EquipEvolveModel.Instance.IsShowEvolveBtn(item.itemId)) // { // operates.Add(ItemOperateType.default1); // } // return operates; // } // if (ItemLogicUtility.Instance.IsRealmEquip(item.itemId) && WindowCenter.Instance.IsOpen("RoleEquipWin")) // { // operates.Add(ItemOperateType.putOff); // return operates; // } // if (ItemLogicUtility.Instance.IsSpiritWeapon(item.itemId) && WindowCenter.Instance.IsOpen("SpiritEquipBagWin")) // { // operates.Add(ItemOperateType.putOff); // return operates; // } // } // if (packType == PackType.Warehouse) // { // operates.Add(ItemOperateType.putOut); // return operates; // } // if (item.isAuction) // { // operates.Add(ItemOperateType.putAway); // } // var isEquip = ItemLogicUtility.Instance.IsRealmEquip(item.itemId); // var isSpiritWeapon = ItemLogicUtility.Instance.IsSpiritWeapon(item.itemId); // if (isEquip || isSpiritWeapon) // { // var isOverdue = ItemLogicUtility.Instance.IsOverdue(guid); // if (item.config.CanSell == 1) // { // operates.Add(ItemOperateType.sell); // } // if (item.config.ExpireTime > 0 && isOverdue && itemOverdueModel.CanRenewal(item.itemId)) // { // operates.Add(ItemOperateType.renewal); // } // if (!isOverdue) // { // if (ItemLogicUtility.Instance.IsJobCompatibleItem(item.itemId)) // { // if (isEquip) // { // operates.Add(ItemOperateType.putOn); // if (!item.config.JumpComposeCondi.IsNullOrEmpty()) // { // var jumpId = 0; // if (composeModel.CheckComposeItemById(item.itemId, out jumpId)) // { // operates.Add(ItemOperateType.compose); // } // } // } // if (isSpiritWeapon) // { // if (WindowCenter.Instance.IsOpen()) // { // operates.Add(ItemOperateType.putOn); // } // else if (WindowCenter.Instance.IsOpen() || WindowCenter.Instance.IsOpen("SpiritEquipBagWin")) // { // operates.Add(ItemOperateType.putOn); // } // } // } // //else // //{ // // if (item.config.ItemColor > 3) // // { // // operates.Add(ItemOperateType.exchange); // // } // //} // } // return operates; // } // if (ItemLogicUtility.Instance.IsDogzEquip(item.itemId)) // { // if (packType == PackType.DogzItem) // { // if (item.config.ItemColor > 2 && item.config.ItemColor < 6) // { // operates.Add(ItemOperateType.compose); // } // operates.Add(ItemOperateType.putOn); // } // else if (packType == PackType.DogzEquip) // { // operates.Add(ItemOperateType.putOff); // } // return operates; // } // operates.AddRange(GetOperates(item.itemId, item.count)); // return operates; // } private static List GetGoodOperates(int goodId) { var operates = new List(); 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) { if (GeneralDefine.chestDisplayItems.Contains(itemId)) { return TipType.PeerlessChest; } // if (ChestsAwardConfig.IsBox(itemId)) // { // return TipType.BoxItem; // } 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, string guid) { var config = ItemConfig.Get(itemId); Debug.LogFormat("你查看的物品是:itemId->{0};name->{1};guid->{2};", itemId, config.ItemName, string.IsNullOrEmpty(guid) ? "" : guid); } }