| | |
| | | BoxItem, //宝箱随机物品 |
| | | BoxChooseItem, //宝箱自选物品 |
| | | TreasurePavilion, //古宝物品(碎片) |
| | | Hero, //武将 |
| | | Mingge, //命格 |
| | | } |
| | | |
| | | public class TipData |
| | | { |
| | | public string guid; |
| | | public int itemId; |
| | | public int appointID; |
| | | 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 bool showAll; |
| | | } |
| | | |
| | | public struct BaseInfo |
| | |
| | | public bool isAuctionEquip; |
| | | public LegendProperty legendProperty; |
| | | public int score; |
| | | public int appointID; //定制装备 |
| | | } |
| | | |
| | | // static PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } |
| | |
| | | |
| | | |
| | | //showGetWay 是否获取途径界面 |
| | | public static void Show(int itemId, bool showGetWay = false) |
| | | public static void Show(int itemId, bool showGetWay = false, int _appointID = 0) |
| | | { |
| | | if (!ItemConfig.HasKey(itemId)) |
| | | { |
| | |
| | | return; |
| | | } |
| | | |
| | | |
| | | if (showGetWay) |
| | | { |
| | | //验证有没配置获取途径 |
| | | if (ItemConfig.Get(itemId).GetWay.Length == 0) |
| | | { |
| | | showGetWay = false; |
| | | } |
| | | } |
| | | Show(new ItemViewInfo() |
| | | { |
| | | itemId = itemId, |
| | | unfoldGetWay = showGetWay |
| | | unfoldGetWay = showGetWay, |
| | | appointID = _appointID |
| | | }); |
| | | } |
| | | |
| | |
| | | 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; |
| | | // } |
| | | // 来源无法确定的,没有GUID的,1.定制 2.如奖励获得展示 |
| | | mainTipData = new TipData() |
| | | { |
| | | itemId = itemId, |
| | | appointID = item.appointID, |
| | | }; |
| | | |
| | | // 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); |
| | | // } |
| | | // } |
| | | // } |
| | | // 装备默认会掉在掉落背包里 |
| | | if (item.appointID == 0) |
| | | { |
| | | mainTipData.guid = PackManager.Instance.GetItemGUIDByID(itemId, true, PackType.DropItem); |
| | | } |
| | | |
| | | break; |
| | | |
| | | default: |
| | | mainTipData = CreateItemData(itemId); |
| | | break; |
| | |
| | | switch (tipType) |
| | | { |
| | | case TipType.Equip: |
| | | // WindowCenter.Instance.Open<EquipTipWin>(); |
| | | UIManager.Instance.OpenWindow<EquipTipWin>(); |
| | | break; |
| | | |
| | | // case TipType.PetMount: |
| | | // WindowCenter.Instance.Open<PetMountTipWin>(); |
| | | // break; |
| | | |
| | | case TipType.Hero: |
| | | FirstChargeManager.Instance.heroItemID = itemId; |
| | | UIManager.Instance.OpenWindow<FirstChargeHeroInfoWin>(); |
| | | break; |
| | | case TipType.BoxItem: |
| | | UIManager.Instance.OpenWindow<BoxItemWin>(); |
| | | break; |
| | |
| | | UIManager.Instance.OpenWindow<ChooseItemsWin>(); |
| | | break; |
| | | case TipType.TreasurePavilion: |
| | | // TreasurePavilionModel.Instance.selectGubao = config.EffectValueA1; |
| | | // TreasurePavilionModel.Instance.showTipFromPiece = config.ID; |
| | | // WindowCenter.Instance.OpenIL<TreasurePavilionTipWin>(); |
| | | GubaoManager.Instance.ShowTip(itemId, 0); |
| | | break; |
| | | default: |
| | | UIManager.Instance.OpenWindow<ItemTipWin>(); |
| | |
| | | } |
| | | } |
| | | |
| | | public static void Show(string guid, bool operatable = true) |
| | | // showAll 默认正常全部显示,命格点套装特殊不显示物品信息 |
| | | public static void Show(string guid, bool _showAll = true) |
| | | { |
| | | var item = PackManager.Instance.GetItemByGuid(guid); |
| | | if (item == null) |
| | |
| | | switch (packType) |
| | | { |
| | | case PackType.Equip: |
| | | case PackType.DropItem: |
| | | 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; |
| | | |
| | | case TipType.Mingge: |
| | | mainTipData = new TipData() |
| | | { |
| | | guid = guid, |
| | | showAll = _showAll |
| | | }; |
| | | break; |
| | | default: |
| | | mainTipData = CreateItemData(guid, operatable); |
| | | mainTipData = CreateItemData(guid); |
| | | break; |
| | | } |
| | | |
| | | switch (tipType) |
| | | { |
| | | case TipType.Equip: |
| | | isShowCustomEquip = false; |
| | | UIManager.Instance.OpenWindow<EquipTipWin>(); |
| | | break; |
| | | // case TipType.PetMount: |
| | |
| | | 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; |
| | | case TipType.Mingge: |
| | | UIManager.Instance.OpenWindow<MinggeSmallTipWin>(); |
| | | 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>(); |
| | | } |
| | | |
| | | |
| | |
| | | //suitInfo = GetSuitInfo(itemId), |
| | | //gemInfo = GetGemInfo(itemId), |
| | | //starInfo = GetStarInfo(itemId), |
| | | operates = GetGoodOperates(goodId), |
| | | // operates = GetGoodOperates(goodId), |
| | | //shenProperty = GetShenProperty(itemId) |
| | | }; |
| | | } |
| | |
| | | // }; |
| | | // } |
| | | |
| | | static TipData CreateItemData(string guid, bool operatable) |
| | | static TipData CreateItemData(string guid) |
| | | { |
| | | var item = PackManager.Instance.GetItemByGuid(guid); |
| | | if (item == null) |
| | |
| | | // legendProperty = GetLegendProperty(itemId), |
| | | // spiritWeaponProperty = GetSpiritWeaponProperty(itemId), |
| | | // petMountBaseProperty = GetPetMountBaseProperty(itemId), |
| | | operates = GetGoodOperates(goodId), |
| | | // operates = GetGoodOperates(goodId), |
| | | // shenProperty = GetShenProperty(itemId) |
| | | }; |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | |
| | | 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; |
| | |
| | | case 111: |
| | | case 112: |
| | | return TipType.Equip; |
| | | // case 26: |
| | | // case 41: |
| | | // case 42: |
| | | // return TipType.PetMount; |
| | | case 147: |
| | | return TipType.TreasurePavilion; |
| | | case 150: |
| | | return TipType.Hero; |
| | | case 201: |
| | | case 202: |
| | | case 203: |
| | | case 204: |
| | | case 205: |
| | | case 206: |
| | | case 207: |
| | | case 208: |
| | | case 209: |
| | | case 210: |
| | | case 211: |
| | | case 212: |
| | | return TipType.Mingge; |
| | | default: |
| | | return TipType.Item; |
| | | } |