yyl
9 天以前 81018a57144a3ed68634102a3406bb63b27fa9dd
Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
7个文件已修改
142 ■■■■ 已修改文件
Main/System/OtherPlayerDetail/OtherEquipCardItem.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OtherPlayerDetail/OtherEquipTipWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OtherPlayerDetail/OtherHeroFightingCardItem.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OtherPlayerDetail/OtherNPCDetailWin.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/ViewNPC/ViewNPCManager.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | 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开始