| Main/System/OtherPlayerDetail/OtherEquipCardItem.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OtherPlayerDetail/OtherEquipTipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OtherPlayerDetail/OtherHeroFightingCardItem.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OtherPlayerDetail/OtherNPCDetailWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/ViewNPC/ViewNPCManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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>(); 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(); 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; 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, }); } } 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(); } 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;//查看他人界面正在查看中的装备 private Dictionary<int, ViewPlayerData> viewPlayerDataDic = new Dictionary<int, ViewPlayerData>(); // 查看类型,玩家ID public event Action<int, int> OnRevPackage; //尽量不要用第一个参数viewtype做判断,容易出错 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; } 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>(); } } } // --- 解析属性字典 --- @@ -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开始