0312 定制装备图标显示等级,定制tip显示统一接口,非掉落获得装备立即弹框
7个文件已修改
146 ■■■■ 已修改文件
Main/System/DayMission/SignManager.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Equip/EquipTipWin.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/FirstCharge/FirstChargeDayAward.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/ItemTip/ItemTipUtility.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/KnapSack/New/CommonItemBaisc.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/KnapSack/New/ItemCell.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/KnapSack/PackManager.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/DayMission/SignManager.cs
@@ -52,6 +52,7 @@
        {
            RightFuncInHome.ListenWindowEx("SignWin");
            PopupWindowsProcessor.Instance.Add("SignWin");
            UpdateRedpoint();
        }
    }
Main/System/Equip/EquipTipWin.cs
@@ -31,21 +31,31 @@
    AppointItemConfig customEquipAppointItemConfig;
    protected override void OnPreOpen()
    {
        bool isShowCustomEquip = ItemTipUtility.isShowCustomEquip;
        if (isShowCustomEquip)
        if (ItemTipUtility.mainTipData.appointID != 0)
        {
            int customEquipItemId = ItemTipUtility.customEquipItemId;
            int customEquipAppointItemId = ItemTipUtility.customEquipAppointItemId;
            int customEquipItemId = ItemTipUtility.mainTipData.itemId;
            int customEquipAppointItemId = ItemTipUtility.mainTipData.appointID;
            if (!ItemConfig.HasKey(customEquipItemId))
            {
                DelayCloseWindow().Forget();
                return;
            }
            if (!AppointItemConfig.HasKey(customEquipAppointItemId))
            {
                DelayCloseWindow().Forget();
                return;
            }
            customEquipItemConfig = ItemConfig.Get(customEquipItemId);
            customEquipAppointItemConfig = AppointItemConfig.Get(customEquipAppointItemId);
            Display(customEquipItemConfig, customEquipAppointItemConfig);
        }
        else
        {
            if (string.IsNullOrEmpty(ItemTipUtility.mainTipData.guid))
            {
                DelayCloseWindow().Forget();
                return;
            }
            equip = PackManager.Instance.GetItemByGuid(ItemTipUtility.mainTipData.guid);
            Display(equip);
        }
@@ -56,15 +66,14 @@
        //先缩小,这样不会因为间隔帧产生明显的闪烁
        uieffect.transform.localScale = Vector3.zero;
        bool isShowCustomEquip = ItemTipUtility.isShowCustomEquip;
        if (isShowCustomEquip)
        if (ItemTipUtility.mainTipData.appointID != 0)
        {
            RefreshEffect(customEquipItemConfig).Forget();
            RefreshEffect(customEquipItemConfig.ItemColor).Forget();
        }
        else
        {
            //特效显示依赖rect的排版,放在下一帧
            RefreshEffect(equip).Forget();
            RefreshEffect(equip.config.ItemColor).Forget();
        }
    }
@@ -72,6 +81,8 @@
    protected override void OnPreClose()
    {
        equip = null;
        customEquipItemConfig = null;
        customEquipAppointItemConfig = null;
    }
    public void Display(ItemModel equip)
@@ -186,10 +197,10 @@
    }
    //延迟处理特效大小
    async UniTask RefreshEffect(ItemModel equip)
    async UniTask RefreshEffect(int itemColor)
    {
        await UniTask.DelayFrame(3);
        int effectID = EquipModel.Instance.equipUIEffects[Math.Min(equip.config.ItemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
        int effectID = EquipModel.Instance.equipUIEffects[Math.Min(itemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
        if (effectID == 0)
        {
            uieffect.Stop();
@@ -203,23 +214,7 @@
        }
    }
    //延迟处理特效大小
    async UniTask RefreshEffect(ItemConfig itemConfig)
    {
        await UniTask.DelayFrame(3);
        int effectID = EquipModel.Instance.equipUIEffects[Math.Min(itemConfig.ItemColor, EquipModel.Instance.equipUIEffects.Length) - 1];
        if (effectID == 0)
        {
            uieffect.Stop();
        }
        else
        {
            uieffect.effectId = effectID;
            //计算高度缩放比例 特效显示依赖rect的排版
            uieffect.transform.localScale = new Vector3(0.98f, bgRect.rect.height / uieffect.GetComponent<RectTransform>().rect.height, 1);
            uieffect.Play();
        }
    }
}
Main/System/FirstCharge/FirstChargeDayAward.cs
@@ -121,7 +121,7 @@
    private void ShowAwardsForCount1(int[][] awardList, int awardState, int firstId)
    {
        transCount1.SetActive(true);
        itemCellCount1.Init(new ItemCellModel((int)awardList[0][0], true, awardList[0][1]));
        itemCellCount1.Init(new ItemCellModel((int)awardList[0][0], true, awardList[0][1]), awardList[0][2]);
        itemCellCount1.button.SetListener(() => HandleItemClick((int)awardList[0][0], awardList[0][2]));
        imgHaveCount1.SetActive(awardState == 0);
    }
@@ -165,24 +165,8 @@
    /// <param name="itemId">物品ID</param>
    private void HandleItemClick(int itemId, int customEquipId)
    {
        if (!ItemConfig.HasKey(itemId))
            return;
        if (ItemConfig.Get(itemId).Type == 150)
        {
            FirstChargeManager.Instance.heroItemID = itemId;
            UIManager.Instance.OpenWindow<FirstChargeHeroInfoWin>();
        }
        else if (ItemConfig.Get(itemId).Type >= 101 &&
                ItemConfig.Get(itemId).Type <= 117 &&
                customEquipId > 0 &&
                AppointItemConfig.HasKey(customEquipId))
        {
            ItemTipUtility.ShowCustomEquip(itemId, customEquipId);
        }
        else
        {
            ItemTipUtility.Show(itemId);
        }
        ItemTipUtility.Show(itemId, false, customEquipId);
    }
    /// <summary>
@@ -201,7 +185,7 @@
            {
                int index = i; // Lambda表达式中使用,需要创建局部副本
                itemCells[i].SetActive(true);
                itemCells[i].Init(new ItemCellModel((int)awardList[i][0], true, awardList[i][1]));
                itemCells[i].Init(new ItemCellModel((int)awardList[i][0], true, awardList[i][1]), awardList[index][2]);
                itemCells[i].button.SetListener(() => HandleItemClick((int)awardList[index][0], awardList[index][2]));
            }
            else
Main/System/ItemTip/ItemTipUtility.cs
@@ -19,12 +19,14 @@
        BoxItem,    //宝箱随机物品
        BoxChooseItem,    //宝箱自选物品
        TreasurePavilion, //古宝物品(碎片)
        Hero,   //武将
    }
    public class TipData
    {
        public string guid;
        public int itemId;
        public int appointID;
        public int goodId;
        public int exchangeItemId;  //部分界面要动态变化物品的情况
@@ -204,6 +206,7 @@
        public bool isAuctionEquip;
        public LegendProperty legendProperty;
        public int score;
        public int appointID; //定制装备
    }
    // static PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -238,7 +241,7 @@
    //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))
        {
@@ -249,7 +252,8 @@
        Show(new ItemViewInfo()
        {
            itemId = itemId,
            unfoldGetWay = showGetWay
            unfoldGetWay = showGetWay,
            appointID = _appointID
        });
    }
@@ -271,6 +275,19 @@
        switch (tipType)
        {
            case TipType.Equip:
                // 来源无法确定的,没有GUID的,1.定制 2.如奖励获得展示
                mainTipData = new TipData()
                {
                    itemId = itemId,
                    appointID = item.appointID,
                };
                // 装备默认会掉在掉落背包里
                if (item.appointID == 0)
                {
                    mainTipData.guid = PackManager.Instance.GetItemGUIDByID(itemId, true, PackType.DropItem);
                }
                // mainTipData = CreateNormalEquipData(itemId);
                // if (item.isAuctionEquip && !item.legendProperty.Equals(default(LegendProperty)))
                // {
@@ -307,13 +324,16 @@
        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;
@@ -349,6 +369,7 @@
                switch (packType)
                {
                    case PackType.Equip:
                    case PackType.DropItem:
                        mainTipData = new TipData() { guid = guid };
                        break;
                    default:
@@ -386,7 +407,6 @@
        switch (tipType)
        {
            case TipType.Equip:
                isShowCustomEquip = false;
                UIManager.Instance.OpenWindow<EquipTipWin>();
                break;
            // case TipType.PetMount:
@@ -408,16 +428,6 @@
                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>();
    }
@@ -1656,12 +1666,12 @@
            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;
            default:
                return TipType.Item;
        }
Main/System/KnapSack/New/CommonItemBaisc.cs
@@ -275,8 +275,16 @@
            countText.SetActive(true);
            countText.text = count > 1000000 ? UIHelper.ReplaceLargeNum(count / 100.0f) : (count / 100.0f).ToString("0.#");
        }
        else if (config.EquipPlace != 0)
        {
            var realItem = PackManager.Instance.GetItemByID(PackType.DropItem, itemId);
            if (realItem != null)
            {
                countText.text = Language.Get("L1113", EquipModel.Instance.GetEquipLV(realItem));
            }
        }
        else if (!string.IsNullOrEmpty(guid))
        {
        {
            if (GeneralDefine.itemMoneyCountDict.ContainsKey(itemId))
            {
                //展示货币数量的物品
Main/System/KnapSack/New/ItemCell.cs
@@ -13,10 +13,13 @@
    }
    public override void Init(ItemCellModel model)
    public void Init(ItemCellModel model, int appointID = 0)
    {
        base.Init(model);
        if (appointID > 0)
        {
            countText.text = Language.Get("L1113", AppointItemConfig.Get(appointID).ItemLV);
        }
    }
}
Main/System/KnapSack/PackManager.cs
@@ -226,7 +226,7 @@
        
        DelayNotifyPackChange(type);
        //EquipDecomRedCtrl();
        AutoUseItem(itemInfo.itemId, serverItem.ItemGUID);
        AutoUseItem(serverItem);
    }
@@ -400,12 +400,19 @@
        }
    }
    void AutoUseItem(int itemID, string guid)
    //获得物品后的处理
    void AutoUseItem(H0704_tagRolePackRefresh serverItem)
    {
        // if (autoUseItemIDs.Contains(itemID))
        // {
        //     ItemOperateUtility.Instance.GotoUseItem(guid);
        // }
        //如果是其他途径给的装备
        if (serverItem.socketType == ServerType.Main && serverItem.PackType == (int)PackType.DropItem)
        {
            EquipModel.Instance.CalcFloorEquip(serverItem.ItemPlace);
        }
    }