From 1503afaa0a68776a36259d0f9e231830f87a26c0 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 25 十一月 2025 15:49:30 +0800
Subject: [PATCH] 0312 定制装备图标显示等级,定制tip显示统一接口,非掉落获得装备立即弹框
---
Main/System/KnapSack/PackManager.cs | 11 +++
Main/System/DayMission/SignManager.cs | 1
Main/System/KnapSack/New/CommonItemBaisc.cs | 10 +++
Main/System/FirstCharge/FirstChargeDayAward.cs | 24 +------
Main/System/ItemTip/ItemTipUtility.cs | 44 +++++++++-----
Main/System/KnapSack/New/ItemCell.cs | 7 +
Main/System/Equip/EquipTipWin.cs | 49 +++++++---------
7 files changed, 77 insertions(+), 69 deletions(-)
diff --git a/Main/System/DayMission/SignManager.cs b/Main/System/DayMission/SignManager.cs
index 3f5f9bd..b23eeba 100644
--- a/Main/System/DayMission/SignManager.cs
+++ b/Main/System/DayMission/SignManager.cs
@@ -52,6 +52,7 @@
{
RightFuncInHome.ListenWindowEx("SignWin");
PopupWindowsProcessor.Instance.Add("SignWin");
+ UpdateRedpoint();
}
}
diff --git a/Main/System/Equip/EquipTipWin.cs b/Main/System/Equip/EquipTipWin.cs
index 942df61..c12924e 100644
--- a/Main/System/Equip/EquipTipWin.cs
+++ b/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();
- }
- }
+
}
diff --git a/Main/System/FirstCharge/FirstChargeDayAward.cs b/Main/System/FirstCharge/FirstChargeDayAward.cs
index 4191a6f..a14922f 100644
--- a/Main/System/FirstCharge/FirstChargeDayAward.cs
+++ b/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
diff --git a/Main/System/ItemTip/ItemTipUtility.cs b/Main/System/ItemTip/ItemTipUtility.cs
index 180b884..45b1aa2 100644
--- a/Main/System/ItemTip/ItemTipUtility.cs
+++ b/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;
}
diff --git a/Main/System/KnapSack/New/CommonItemBaisc.cs b/Main/System/KnapSack/New/CommonItemBaisc.cs
index cc6484d..3f0adfb 100644
--- a/Main/System/KnapSack/New/CommonItemBaisc.cs
+++ b/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))
{
//灞曠ず璐у竵鏁伴噺鐨勭墿鍝�
diff --git a/Main/System/KnapSack/New/ItemCell.cs b/Main/System/KnapSack/New/ItemCell.cs
index 6602211..2de7598 100644
--- a/Main/System/KnapSack/New/ItemCell.cs
+++ b/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);
+ }
}
}
diff --git a/Main/System/KnapSack/PackManager.cs b/Main/System/KnapSack/PackManager.cs
index d538894..8856c34 100644
--- a/Main/System/KnapSack/PackManager.cs
+++ b/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);
+ }
}
--
Gitblit v1.8.0