From cad87129e5ea2fd23cc195ed0444bd38f1117aa7 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 05 八月 2025 15:51:54 +0800 Subject: [PATCH] 79 【常规】背包 - 随机宝箱界面,自选宝箱界面,获得物品奖励界面 --- Main/System/ItemTip/ItemTipUtility.cs | 511 ++++++++++--------------------------------------------- 1 files changed, 98 insertions(+), 413 deletions(-) diff --git a/Main/System/ItemTip/ItemTipUtility.cs b/Main/System/ItemTip/ItemTipUtility.cs index f5a71c6..2fab85d 100644 --- a/Main/System/ItemTip/ItemTipUtility.cs +++ b/Main/System/ItemTip/ItemTipUtility.cs @@ -7,6 +7,7 @@ using UnityEngine.UI; using System.Collections.Generic; using System.Linq; +using LitJson; public class ItemTipUtility { @@ -14,14 +15,9 @@ { Item, Equip, - Dogz, - GatherSoul, //搴熷純 - KingTreasure, //鐜嬭�呮硶瀹漷ip PetMount, - SpiritWeapon, - PeerlessChest, - TreasureShow, //鍏朵粬娉曞疂tip - BoxItem, //瀹濈鐗╁搧 + BoxItem, //瀹濈闅忔満鐗╁搧 + BoxChooseItem, //瀹濈鑷�夌墿鍝� TreasurePavilion, //鍙ゅ疂鐗╁搧锛堢鐗囷級 } @@ -30,7 +26,7 @@ public string guid; public int itemId; public int goodId; - public int exchangeItemId; + public int exchangeItemId; //閮ㄥ垎鐣岄潰瑕佸姩鎬佸彉鍖栫墿鍝佺殑鎯呭喌 public BaseInfo baseInfo; public BaseProperty baseProperty; @@ -224,7 +220,7 @@ // 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; } + public static TipData mainTipData { get; private set; } // 娉ㄦ剰褰撻�掕繘鐐瑰嚮鎵撳紑澶氫釜tip鐣岄潰浼氬彉鏇存暟鎹紝涓嶈兘渚濊禆姝ゅ�� public static TipData secondaryData { get; private set; } public static void Show(int itemId) @@ -252,99 +248,64 @@ // secondaryData = null; - // var config = ItemConfig.Get(itemId); - // PrintItemBrief(itemId); + 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; - // } + 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<int, int> selectItems; - // if (boxGetItemModel.IsSelectItemByID(itemId, out selectItems)) - // { - // secondaryData = CreateNormalEquipData(selectItems.Keys.First()); - // secondaryData.getWay = default(GetWay); - // } - // break; - // default: - // mainTipData = CreateItemData(itemId); - // break; - // } + // 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; - // switch (tipType) - // { - // case TipType.Equip: - // WindowCenter.Instance.Open<EquipTipWin>(); - // break; - // case TipType.Dogz: - // WindowCenter.Instance.Open<EquipTipWin>(); - // break; - // case TipType.KingTreasure: - // var kingTreasureShow = ModelCenter.Instance.GetModel<KingTreasureShowModel>(); - // kingTreasureShow.SetInitData(itemId); - // break; - // case TipType.PetMount: - // WindowCenter.Instance.Open<PetMountTipWin>(); - // break; - // case TipType.SpiritWeapon: - // WindowCenter.Instance.Open<SpiritWeaponTipWin>(); - // break; - // case TipType.PeerlessChest: - // WindowCenter.Instance.Open<PeerlessChestTipWin>(); - // break; - // case TipType.TreasureShow: - // TreasureEffectModel effectModel = ModelCenter.Instance.GetModel<TreasureEffectModel>(); - // if (config.Effect1 == 232) - // { - // effectModel.SetTreasureID(config.EffectValueA1, 0); - // } - // break; - // case TipType.BoxItem: - // if (WindowCenter.Instance.IsOpen<ItemBoxTipWin>()) - // { - // WindowCenter.Instance.Open<ItemTipWin>(); - // } - // else - // { - // WindowCenter.Instance.Open<ItemBoxTipWin>(); - // } - // break; - // case TipType.TreasurePavilion: - // TreasurePavilionModel.Instance.selectGubao = config.EffectValueA1; - // TreasurePavilionModel.Instance.showTipFromPiece = config.ID; - // WindowCenter.Instance.OpenIL<TreasurePavilionTipWin>(); - // break; - // default: - // WindowCenter.Instance.Open<ItemTipWin>(); - // break; - // } + mainTipData.getWay.defaultUnfold = item.unfoldGetWay; + 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) @@ -407,16 +368,12 @@ // case TipType.PetMount: // WindowCenter.Instance.Open<PetMountTipWin>(); // break; - // case TipType.BoxItem: - // if (WindowCenter.Instance.IsOpen<ItemBoxTipWin>()) - // { - // WindowCenter.Instance.Open<ItemTipWin>(); - // } - // else - // { - // WindowCenter.Instance.Open<ItemBoxTipWin>(); - // } - // 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; @@ -429,51 +386,6 @@ } - 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<EquipTipWin>(); - } - else - { - var tipType = GetTipType(itemId); - - // switch (tipType) - // { - // case TipType.PetMount: - // WindowCenter.Instance.Open<PetMountTipWin>(); - // break; - // case TipType.BoxItem: - // if (WindowCenter.Instance.IsOpen<ItemBoxTipWin>()) - // { - // WindowCenter.Instance.Open<ItemTipWin>(); - // } - // else - // { - // WindowCenter.Instance.Open<ItemBoxTipWin>(); - // } - // break; - // default: - // WindowCenter.Instance.Open<ItemTipWin>(); - // break; - // } - } - } // public static void ShowCustomEquip(CustomEquipInfo info) // { @@ -798,21 +710,21 @@ }; } - // 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 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) { @@ -1622,35 +1534,7 @@ // 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<Int2>(); - - // 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) // { @@ -1687,212 +1571,7 @@ // return getWay; // } - // private static List<ItemOperateType> GetOperates(int itemId, int itemCount = 0) - // { - // var config = ItemConfig.Get(itemId); - // var operates = new List<ItemOperateType>(); - // 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<ItemOperateType> GetOperates(string guid) - // { - // var item = packModel.GetItemByGuid(guid); - // if (item == null) - // { - // return null; - // } - - // var operates = new List<ItemOperateType>(); - - // 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<RoleEquipWin>()) - // { - // operates.Add(ItemOperateType.putOn); - // } - // else if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() || 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<ItemOperateType> GetGoodOperates(int goodId) @@ -1939,15 +1618,16 @@ private static TipType GetTipType(int itemId) { - if (GeneralDefine.chestDisplayItems.Contains(itemId)) + var boxType = ChestsAwardConfig.GetBoxType(itemId); + if (boxType == 1) + { + return TipType.BoxItem; + } + else if (boxType == 2) { - return TipType.PeerlessChest; + return TipType.BoxChooseItem; } - // if (ChestsAwardConfig.IsBox(itemId)) - // { - // return TipType.BoxItem; - // } var config = ItemConfig.Get(itemId); switch (config.Type) @@ -1965,18 +1645,23 @@ case 111: case 112: return TipType.Equip; - case 26: - case 41: - case 42: - return TipType.PetMount; + // 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) { -- Gitblit v1.8.0