From a123d0c69d4210be5fa4cba3b33e8759e1397f68 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 29 一月 2026 15:46:04 +0800
Subject: [PATCH] 449 查看他人
---
Main/System/ViewNPC/ViewNPCManager.cs | 50 ++++++----------
Main/System/OtherPlayerDetail/OtherNPCDetailWin.cs | 7 +-
Main/System/OtherPlayerDetail/OtherEquipTipWin.cs | 2
Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs | 31 +++++++---
Main/System/OtherPlayerDetail/OtherHeroFightingCardItem.cs | 12 ++--
Main/System/OtherPlayerDetail/OtherEquipCardItem.cs | 2
Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs | 38 +++++-------
7 files changed, 69 insertions(+), 73 deletions(-)
diff --git a/Main/System/OtherPlayerDetail/OtherEquipCardItem.cs b/Main/System/OtherPlayerDetail/OtherEquipCardItem.cs
index d054914..29d8b36 100644
--- a/Main/System/OtherPlayerDetail/OtherEquipCardItem.cs
+++ b/Main/System/OtherPlayerDetail/OtherEquipCardItem.cs
@@ -47,7 +47,7 @@
btnClick.SetListener(() =>
{
- manager.equip = equip;
+ manager.otherPlayerViewEquip = equip;
if (!UIManager.Instance.IsOpened<OtherEquipTipWin>())
{
UIManager.Instance.OpenWindow<OtherEquipTipWin>();
diff --git a/Main/System/OtherPlayerDetail/OtherEquipTipWin.cs b/Main/System/OtherPlayerDetail/OtherEquipTipWin.cs
index a10690e..7f3ae37 100644
--- a/Main/System/OtherPlayerDetail/OtherEquipTipWin.cs
+++ b/Main/System/OtherPlayerDetail/OtherEquipTipWin.cs
@@ -30,7 +30,7 @@
OtherPlayerDetailManager manager { get { return OtherPlayerDetailManager.Instance; } }
protected override void OnPreOpen()
{
- equip = manager.equip;
+ equip = manager.otherPlayerViewEquip;
if (equip == null)
{
DelayCloseWindow().Forget();
diff --git a/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs b/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs
index ae02354..b7b59f6 100644
--- a/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs
+++ b/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs
@@ -43,19 +43,12 @@
{
// 閲嶇疆鎵�鏈夋粴鍔ㄥ尯鍒伴《閮�
if (allAttrScroll != null)
- {
allAttrScroll.verticalNormalizedPosition = 1f;
- }
-
-
-
Display();
}
protected override void OnPreClose()
{
-
-
}
private bool TryGetHeroInfo(BattleClickHeroData data, out HeroInfo heroInfo)
@@ -67,13 +60,17 @@
return true;
}
+
private void Display()
{
attrDict = null;
- switch (manager.viewHeroType)
+ ViewHeroDetailData viewData = manager.viewHeroDetailData;
+ if (viewData == null)
+ return;
+ switch (viewData.viewHeroType)
{
case 0:
- BattleClickHeroData data = manager.clickHeroData;
+ BattleClickHeroData data = manager.viewHeroDetailData.clickHeroData;
bgImage.SetSprite(data.isMySide ? "OtherHeroDetailBGBlue" : "OtherHeroDetailBGRed");
iconImage.SetSprite(data.isMySide ? "OtherHeroDetailIconBlue" : "OtherHeroDetailIconRed");
if (data.isMySide)
@@ -84,6 +81,7 @@
DelayCloseWindow().Forget();
return;
}
+ heroInfo.CalculateFightPower();
attrDict = FightPowerManager.Instance.GetHeroTotalAttr(heroInfo);
DisplayByMyPack(heroInfo, data);
}
@@ -91,13 +89,13 @@
{
if (BattleManager.Instance.IsPvpBattle(data.battleName))
{
- attrDict = manager?.heroData?.AttrDict;
- DiplayByViewOtherPlayer();
+ attrDict = viewData.heroData?.AttrDict;
+ DiplayByViewOtherPlayer(viewData.heroData, viewData.heroDatas);
}
else
{
- attrDict = manager?.viewNPCAttr?.AttrDict;
- DisplayByViewNPCAttr();
+ attrDict = viewData.viewNPCAttr?.AttrDict;
+ DisplayByViewNPCAttr(viewData.viewNPCAttr);
}
}
@@ -106,8 +104,8 @@
default:
bgImage.SetSprite("OtherHeroDetailBGRed");
iconImage.SetSprite("OtherHeroDetailIconRed");
- attrDict = manager?.heroData?.AttrDict;
- DiplayByViewOtherPlayer();
+ attrDict = viewData.heroData?.AttrDict;
+ DiplayByViewOtherPlayer(viewData.heroData, viewData.heroDatas);
break;
}
}
@@ -145,9 +143,8 @@
}
- void DisplayByViewNPCAttr()
+ void DisplayByViewNPCAttr(ViewNPCAttr viewNPCAttr)
{
- ViewNPCAttr viewNPCAttr = manager.viewNPCAttr;
if (viewNPCAttr == null)
return;
@@ -178,12 +175,9 @@
ForceRefreshLayout();
}
- void DiplayByViewOtherPlayer()
+ void DiplayByViewOtherPlayer(OtherPlayerDetailManager.RolePlusData.HeroData heroData,
+ List<OtherPlayerDetailManager.RolePlusData.HeroData> heroDatas)
{
-
- OtherPlayerDetailManager.RolePlusData.HeroData heroData = manager.heroData;
- List<OtherPlayerDetailManager.RolePlusData.HeroData> heroDatas = manager.heroDatas;
-
if (heroDatas.IsNullOrEmpty() || heroData == null)
return;
diff --git a/Main/System/OtherPlayerDetail/OtherHeroFightingCardItem.cs b/Main/System/OtherPlayerDetail/OtherHeroFightingCardItem.cs
index 6168f4b..8dc72bf 100644
--- a/Main/System/OtherPlayerDetail/OtherHeroFightingCardItem.cs
+++ b/Main/System/OtherPlayerDetail/OtherHeroFightingCardItem.cs
@@ -83,13 +83,13 @@
{
return;
}
- manager.viewHeroType = 1;
- manager.heroData = heroData;
- manager.heroDatas = heros;
- if (!UIManager.Instance.IsOpened<OtherHeroDetailWin>())
+
+ OtherPlayerDetailManager.Instance.OpenOtherHeroDetailWin(new ViewHeroDetailData()
{
- UIManager.Instance.OpenWindow<OtherHeroDetailWin>();
- }
+ viewHeroType = 1,
+ heroData = heroData,
+ heroDatas = heros,
+ });
}
}
diff --git a/Main/System/OtherPlayerDetail/OtherNPCDetailWin.cs b/Main/System/OtherPlayerDetail/OtherNPCDetailWin.cs
index 7d5bd9e..12f4602 100644
--- a/Main/System/OtherPlayerDetail/OtherNPCDetailWin.cs
+++ b/Main/System/OtherPlayerDetail/OtherNPCDetailWin.cs
@@ -26,7 +26,7 @@
[SerializeField] Transform awakeCellParent; //娼滆兘鐖惰妭鐐�
[SerializeField] GameObject awakeGo;
Dictionary<int, long> attrDict;
- OtherPlayerDetailManager manager { get { return OtherPlayerDetailManager.Instance; } }
+ ViewNPCManager manager { get { return ViewNPCManager.Instance; } }
protected override void InitComponent()
{
awakeCellList = new List<GameObject>();
@@ -59,9 +59,8 @@
private void Display()
{
- BattleClickHeroData data = manager.clickHeroData;
- bgImage.SetSprite(data.isMySide ? "OtherHeroDetailBGBlue" : "OtherHeroDetailBGRed");
- iconImage.SetSprite(data.isMySide ? "OtherHeroDetailIconBlue" : "OtherHeroDetailIconRed");
+ bgImage.SetSprite("OtherHeroDetailBGRed");
+ iconImage.SetSprite("OtherHeroDetailIconRed");
attrDict = manager?.viewNPCAttr?.AttrDict;
DisplayByViewNPCAttr();
}
diff --git a/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs b/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs
index 94fae49..14d202c 100644
--- a/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs
+++ b/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs
@@ -15,19 +15,11 @@
public int viewPlayerType { get; private set; }
public int viewPreSetType { get; private set; }
-
+ public RolePlusData.EquipData otherPlayerViewEquip;//鏌ョ湅浠栦汉鐣岄潰姝e湪鏌ョ湅涓殑瑁呭
private Dictionary<int, ViewPlayerData> viewPlayerDataDic = new Dictionary<int, ViewPlayerData>();
// 鏌ョ湅绫诲瀷锛岀帺瀹禝D
public event Action<int, int> OnRevPackage; //灏介噺涓嶈鐢ㄧ涓�涓弬鏁皏iewtype鍋氬垽鏂紝瀹规槗鍑洪敊
-
-
- public int viewHeroType;//0:鎴樺満鐐瑰嚮妯″瀷 1锛氭煡鐪嬩粬浜鸿嫳闆勮鎯呯晫闈㈢偣鍑昏嫳闆勫崱鐗�
- public BattleClickHeroData clickHeroData;
- public ViewNPCAttr viewNPCAttr;
- public RolePlusData.HeroData heroData;
- public List<RolePlusData.HeroData> heroDatas;
- public RolePlusData.EquipData equip;
public override void Init()
{
@@ -45,6 +37,8 @@
viewPlayer = -1;
viewPlayerType = -1;
viewPreSetType = -1;
+ otherPlayerViewEquip = null;
+ viewHeroDetailData = null;
}
// 鑾峰彇鍏朵粬鐜╁鏈湴缂撳瓨鏁版嵁
@@ -147,6 +141,16 @@
OnRevPackage?.Invoke(viewPlayerType, playerID);
viewPlayerType = -1;
viewPreSetType = -1;
+ }
+
+ public ViewHeroDetailData viewHeroDetailData;
+ public void OpenOtherHeroDetailWin(ViewHeroDetailData viewHeroDetailData)
+ {
+ this.viewHeroDetailData = viewHeroDetailData;
+ if (!UIManager.Instance.IsOpened<OtherHeroDetailWin>())
+ {
+ UIManager.Instance.OpenWindow<OtherHeroDetailWin>();
+ }
}
#region 鑾峰彇PlusData涓殑鏁版嵁
@@ -749,3 +753,12 @@
}
+public class ViewHeroDetailData
+{
+ public int viewHeroType;//0:鎴樺満鐐瑰嚮鎴戞柟鐨勮嫳闆勬ā鍨� 1锛氭煡鐪嬩粬浜鸿嫳闆勮鎯呯晫闈㈢偣鍑昏嫳闆勫崱鐗�
+ public BattleClickHeroData clickHeroData;
+ public ViewNPCAttr viewNPCAttr;
+ public OtherPlayerDetailManager.RolePlusData.HeroData heroData;
+ public List<OtherPlayerDetailManager.RolePlusData.HeroData> heroDatas;
+ public OtherPlayerDetailManager.RolePlusData.EquipData equip;
+}
\ No newline at end of file
diff --git a/Main/System/ViewNPC/ViewNPCManager.cs b/Main/System/ViewNPC/ViewNPCManager.cs
index f6a8b42..9460ebf 100644
--- a/Main/System/ViewNPC/ViewNPCManager.cs
+++ b/Main/System/ViewNPC/ViewNPCManager.cs
@@ -34,6 +34,7 @@
private void ResetPendingState()
{
isPendingOpen = false;
+ viewNPCAttr = null;
pendingData.isMySide = false;
pendingData.funcLineID = 0;
pendingData.mapID = 0;
@@ -51,7 +52,11 @@
// 鑷繁鐨勬暟鎹洿鎺ヨ鑳屽寘
if (data.isMySide)
{
- OpenNPCDetailWin(pendingData, null);
+ OtherPlayerDetailManager.Instance.OpenOtherHeroDetailWin(new ViewHeroDetailData()
+ {
+ viewHeroType = 0,
+ clickHeroData = data,
+ });
return;
}
@@ -71,7 +76,7 @@
// 灏濊瘯鐩存帴浠庣紦瀛樿幏鍙栨暟鎹�
if (TryGetNPCAttr((uint)data.mapID, (uint)data.funcLineID, (uint)data.npcID, out ViewNPCAttr attr))
{
- OpenNPCDetailWin(pendingData, attr);
+ OpenNPCDetailWin(attr);
}
else
{
@@ -108,40 +113,24 @@
int posNum = pendingData.posNum + 1;
if (!heroData.ContainsKey(posNum))
return;
- OtherPlayerDetailManager.Instance.viewHeroType = 0;
- OtherPlayerDetailManager.Instance.clickHeroData = pendingData;
- OtherPlayerDetailManager.Instance.heroData = heroData[posNum];
- OtherPlayerDetailManager.Instance.heroDatas = heroList;
- if (!UIManager.Instance.IsOpened<OtherHeroDetailWin>())
+ OtherPlayerDetailManager.Instance.OpenOtherHeroDetailWin(new ViewHeroDetailData()
{
- UIManager.Instance.OpenWindow<OtherHeroDetailWin>();
- }
+ viewHeroType = 0,
+ clickHeroData = pendingData,
+ heroData = heroData[posNum],
+ heroDatas = heroList,
+ });
}
-
- private void OpenNPCDetailWin(BattleClickHeroData data, ViewNPCAttr npcAttr)
+ public ViewNPCAttr viewNPCAttr;
+ private void OpenNPCDetailWin(ViewNPCAttr viewNPCAttr)
{
- OtherPlayerDetailManager.Instance.viewHeroType = 0;
- OtherPlayerDetailManager.Instance.clickHeroData = data;
- OtherPlayerDetailManager.Instance.viewNPCAttr = npcAttr;
-
- if (data.isMySide)
+ this.viewNPCAttr = viewNPCAttr;
+ if (!UIManager.Instance.IsOpened<OtherNPCDetailWin>())
{
- if (!UIManager.Instance.IsOpened<OtherHeroDetailWin>())
- {
- UIManager.Instance.OpenWindow<OtherHeroDetailWin>();
- }
+ UIManager.Instance.OpenWindow<OtherNPCDetailWin>();
}
- else
- {
- if (!UIManager.Instance.IsOpened<OtherNPCDetailWin>())
- {
- UIManager.Instance.OpenWindow<OtherNPCDetailWin>();
- }
- }
-
-
}
// --- 瑙f瀽灞炴�у瓧鍏� ---
@@ -231,7 +220,7 @@
{
if (TryGetNPCAttr((uint)pendingData.mapID, (uint)pendingData.funcLineID, (uint)pendingData.npcID, out ViewNPCAttr targetAttr))
{
- OpenNPCDetailWin(pendingData, targetAttr);
+ OpenNPCDetailWin(targetAttr);
}
// 澶勭悊瀹屾瘯锛岄噸缃姸鎬�
ResetPendingState();
@@ -277,6 +266,7 @@
}
}
+
public class ViewNPCAttr
{
public byte PosNum; // 鍦ㄦ湰闃靛涓殑绔欎綅锛屼粠1寮�濮�
--
Gitblit v1.8.0