diff --git a/Assets/MyGame/aa/UI/Home/Sub/Rank/RankLineItem.cs b/Assets/MyGame/aa/UI/Home/Sub/Rank/RankLineItem.cs
index 1904f3970..2784d3ac2 100644
--- a/Assets/MyGame/aa/UI/Home/Sub/Rank/RankLineItem.cs
+++ b/Assets/MyGame/aa/UI/Home/Sub/Rank/RankLineItem.cs
@@ -105,15 +105,14 @@ public class RankLineItem : MonoBehaviour
foreach (var gift in giftItems)
{
- string imageUrl = gift.product?.imageUrl;
- int propType = gift.product?.type ?? 0;
int count = gift.isRandom ? gift.minCount : gift.count;
- // product 为空时,用 otherId 查道具表
- if (string.IsNullOrEmpty(imageUrl) && !string.IsNullOrEmpty(gift.otherId))
+ // GiftConfig 已移除 product,道具图标与类型通过 otherId 查道具表
+ string imageUrl = "";
+ int propType = 0;
+ if (!string.IsNullOrEmpty(gift.otherId))
{
- var propConfig = GameManager.Instance?.gameConfig?.propConfig;
- var match = propConfig?.Find(p => p.number == gift.otherId);
+ var match = GameManager.Instance?.gameConfig?.propConfig?.Find(p => p.number == gift.otherId);
if (match != null)
{
imageUrl = match.imageUrl;
diff --git a/Assets/MyGame/aa/UI/Home/Sub/ServicePanel.prefab b/Assets/MyGame/aa/UI/Home/Sub/ServicePanel.prefab
index cbde6bab5..68822676e 100644
--- a/Assets/MyGame/aa/UI/Home/Sub/ServicePanel.prefab
+++ b/Assets/MyGame/aa/UI/Home/Sub/ServicePanel.prefab
@@ -5307,7 +5307,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6624374362400250868}
- m_Enabled: 1
+ m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
diff --git a/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ServicePanel.cs b/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ServicePanel.cs
index 58d29c38f..db09e7381 100644
--- a/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ServicePanel.cs
+++ b/Assets/MyGame/aa/UI/Home/Sub/UIHome_BY_ServicePanel.cs
@@ -85,17 +85,17 @@ public class UIHome_BY_ServicePanel : SubUIBase
{
if (msg.senderType == 1)
{
- // 用户消息
var green = Instantiate(dialogGreenPrefab, dialogPrefabParent);
green.showAvatar = true;
green.SetMessage(msg.content);
+ if (green.waitMessage != null) green.waitMessage.SetActive(false);
}
else
{
- // 客服消息
var orange = Instantiate(dialogOrangePrefab, dialogPrefabParent);
orange.showAvatar = false;
orange.SetMessage(msg.content);
+ if (orange.waitMessage != null) orange.waitMessage.SetActive(false);
}
}
diff --git a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs
index 24ac0604d..b4c52f59e 100644
--- a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs
+++ b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs
@@ -179,9 +179,9 @@ public class ZhanLing_Panel : SubUIBase
if (sz != null && _userData.isSupreme) giftType |= LevelGiftType.ZhiZun;
item.Init(
- nf?.product?.imageUrl ?? "", nf?.count ?? 0,
- lx?.product?.imageUrl ?? "", lx?.count ?? 0,
- sz?.product?.imageUrl ?? "", sz?.count ?? 0,
+ ResolveGiftImageUrl(nf), nf?.count ?? 0,
+ ResolveGiftImageUrl(lx), lx?.count ?? 0,
+ ResolveGiftImageUrl(sz), sz?.count ?? 0,
lv.level, giftType, isClaimed,
nf?.type ?? 0, lx?.type ?? 0, sz?.type ?? 0);
}
@@ -201,9 +201,9 @@ public class ZhanLing_Panel : SubUIBase
if (sz100 != null && _userData.isSupreme) giftType100 |= LevelGiftType.ZhiZun;
levelGiftitem_100.Init(
- nf100?.product?.imageUrl ?? "", nf100?.count ?? 0,
- lx100?.product?.imageUrl ?? "", lx100?.count ?? 0,
- sz100?.product?.imageUrl ?? "", sz100?.count ?? 0,
+ ResolveGiftImageUrl(nf100), nf100?.count ?? 0,
+ ResolveGiftImageUrl(lx100), lx100?.count ?? 0,
+ ResolveGiftImageUrl(sz100), sz100?.count ?? 0,
_maxLevel, giftType100, isClaimed,
nf100?.type ?? 0, lx100?.type ?? 0, sz100?.type ?? 0);
levelGiftitem_100.gameObject.SetActive(true);
@@ -291,11 +291,16 @@ public class ZhanLing_Panel : SubUIBase
foreach (var gift in gifts)
{
var obj = Instantiate(buyLevelGiftitemPrefab, parent);
- string url = !string.IsNullOrEmpty(gift.product?.imageUrl)
- ? APIManager.baseURL + gift.product.imageUrl
- : "";
- int type = gift.type;
- PropEnum pe = type switch { 3 => (PropEnum)(gift.product?.type ?? 0), _ => PropEnum.none };
+ // GiftConfig 已移除 product,道具(type==3)图标与类型通过 otherId 查道具表
+ string url = "";
+ PropEnum pe = PropEnum.none;
+ if (gift.type == 3)
+ {
+ string imageUrl = ResolveGiftImageUrl(gift);
+ if (!string.IsNullOrEmpty(imageUrl))
+ url = APIManager.baseURL + imageUrl;
+ pe = (PropEnum)ResolveGiftPropType(gift);
+ }
int count = gift.isRandom ? gift.minCount : gift.count;
obj.Init(url, count, pe);
}
@@ -459,6 +464,25 @@ public class ZhanLing_Panel : SubUIBase
return (list != null && list.Count > 0) ? list[0] : null;
}
+ ///
+ /// 通过 otherId 在 propConfig 中查找道具图片地址。
+ /// 新版 GiftConfig 已移除 product,道具图标需用 otherId 查道具表。
+ ///
+ private static string ResolveGiftImageUrl(GiftConfig gift)
+ {
+ if (gift == null || string.IsNullOrEmpty(gift.otherId)) return "";
+ var match = GameManager.Instance?.gameConfig?.propConfig?.Find(p => p.number == gift.otherId);
+ return match?.imageUrl ?? "";
+ }
+
+ /// 通过 otherId 在 propConfig 中查找道具类型
+ private static int ResolveGiftPropType(GiftConfig gift)
+ {
+ if (gift == null || string.IsNullOrEmpty(gift.otherId)) return 0;
+ var match = GameManager.Instance?.gameConfig?.propConfig?.Find(p => p.number == gift.otherId);
+ return match?.type ?? 0;
+ }
+
/// HTML 转 TextMeshPro 兼容格式
private static string HtmlToTMP(string html)
{