少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-03 084e0417161674320eeda49bbbc1e986dfa5ee52
3335 重构窗口管理
1个文件已修改
146 ■■■■■ 已修改文件
System/Dungeon/TargetBriefInfoWin.cs 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/TargetBriefInfoWin.cs
@@ -36,10 +36,14 @@
        if (_show)
        {
            var boss = GAMgr.Instance.GetBySID(_instanceId) as GActorNpcFight;
            bossInfo = new MonsterInfo()
            {
                instanceId = _instanceId,
                npcId = _npcId,
                hp = boss != null ? boss.ActorInfo.RealHp : 0,
                maxHp = boss != null ? boss.ActorInfo.RealMaxHp : 0,
                level = boss != null ? boss.ActorInfo.LV : 0
            };
            playerInfo = default(PlayerInfo);
@@ -81,7 +85,7 @@
        bossInfo = new MonsterInfo()
        {
            instanceId = _instanceId,
            npcId = _npcId,
            npcId = bossInfo.npcId,
            hp = _hp,
            maxHp = _maxHp
        };
@@ -116,10 +120,19 @@
        if (_show)
        {
            playerInfo = new PlayerInfo()
            var player = GAMgr.Instance.GetBySID(_instanceId) as GActorPlayerBase;
            if (player != null)
            {
                instanceId = _instanceId,
            };
                playerInfo = new PlayerInfo()
                {
                    instanceId = _instanceId,
                    job = player.ActorInfo.Job,
                    name = player.ActorInfo.PlayerName,
                    level = player.ActorInfo.LV,
                    hp = player.ActorInfo.RealHp,
                    maxHp = player.ActorInfo.RealMaxHp
                };
            }
            bossInfo = default(MonsterInfo);
        }
@@ -151,7 +164,10 @@
        {
            instanceId = _instanceId,
            hp = _hp,
            maxHp = _maxHp
            maxHp = _maxHp,
            job = playerInfo.job,
            level = playerInfo.level,
            name = playerInfo.name
        };
        if (!WindowCenter.Instance.IsOpen<TargetBriefInfoWin>())
@@ -166,15 +182,24 @@
        public int npcId;
        public ulong hp;
        public ulong maxHp;
        public int level;
        public static bool operator ==(MonsterInfo lhs, MonsterInfo rhs)
        {
            return lhs.instanceId == rhs.instanceId && lhs.npcId == rhs.npcId && lhs.hp == rhs.hp && lhs.maxHp == rhs.maxHp;
            return lhs.instanceId == rhs.instanceId
                && lhs.npcId == rhs.npcId
                && lhs.hp == rhs.hp
                && lhs.maxHp == rhs.maxHp
                && lhs.level == rhs.level;
        }
        public static bool operator !=(MonsterInfo lhs, MonsterInfo rhs)
        {
            return lhs.instanceId != rhs.instanceId || lhs.npcId != rhs.npcId || lhs.hp != rhs.hp || lhs.maxHp != rhs.maxHp;
            return lhs.instanceId != rhs.instanceId
                || lhs.npcId != rhs.npcId
                || lhs.hp != rhs.hp
                || lhs.maxHp != rhs.maxHp
                || lhs.level != rhs.level;
        }
    }
@@ -184,14 +209,28 @@
        public ulong hp;
        public ulong maxHp;
        public int job;
        public int level;
        public string name;
        public static bool operator ==(PlayerInfo lhs, PlayerInfo rhs)
        {
            return lhs.instanceId == rhs.instanceId && lhs.hp == rhs.hp && lhs.maxHp == rhs.maxHp;
            return lhs.instanceId == rhs.instanceId
                && lhs.hp == rhs.hp
                && lhs.maxHp == rhs.maxHp
                && lhs.job == rhs.job
                && lhs.level == rhs.level
                && lhs.name == rhs.name;
        }
        public static bool operator !=(PlayerInfo lhs, PlayerInfo rhs)
        {
            return lhs.instanceId != rhs.instanceId || lhs.hp != rhs.hp || lhs.maxHp != rhs.maxHp;
            return lhs.instanceId != rhs.instanceId
                || lhs.hp != rhs.hp
                || lhs.maxHp != rhs.maxHp
                || lhs.job != rhs.job
                || lhs.level != rhs.level
                || lhs.name != rhs.name;
        }
    }
@@ -250,19 +289,19 @@
            if (playerInfo.instanceId != 0)
            {
                ShowPlayerLifeBar(playerInfo.instanceId, true);
                ShowPlayerLifeBar(playerInfo, true);
            }
            else
            {
                ShowPlayerLifeBar(0, false);
                ShowPlayerLifeBar(playerInfo, false);
                if (bossInfo.instanceId != 0)
                {
                    ShowBossLifeBar(bossInfo.instanceId, bossInfo.npcId, true);
                    ShowBossLifeBar(bossInfo, true);
                }
                else
                {
                    ShowBossLifeBar(0, 0, false);
                    ShowBossLifeBar(bossInfo, false);
                }
            }
        }
@@ -273,50 +312,61 @@
            if (TargetBriefInfo.bossInfo != bossInfo)
            {
                bossInfo = TargetBriefInfo.bossInfo;
                if (bossInfo.instanceId == 0)
                if (TargetBriefInfo.bossInfo.instanceId == 0)
                {
                    ShowBossLifeBar(0, 0, false);
                    ShowBossLifeBar(TargetBriefInfo.bossInfo, false);
                }
                else
                {
                    RefreshBossLifeBar(bossInfo.instanceId, bossInfo.npcId, bossInfo.hp, bossInfo.maxHp);
                    if (bossInfo.npcId != TargetBriefInfo.bossInfo.npcId)
                    {
                        ShowBossLifeBar(TargetBriefInfo.bossInfo, true);
                    }
                    else
                    {
                        RefreshBossLifeBar(TargetBriefInfo.bossInfo);
                    }
                }
                bossInfo = TargetBriefInfo.bossInfo;
            }
            if (TargetBriefInfo.playerInfo != playerInfo)
            {
                playerInfo = TargetBriefInfo.playerInfo;
                if (playerInfo.instanceId == 0)
                {
                    ShowPlayerLifeBar(0, false);
                    ShowPlayerLifeBar(TargetBriefInfo.playerInfo, false);
                }
                else
                {
                    RefreshPlayerLifeBar(playerInfo.instanceId, playerInfo.hp, playerInfo.maxHp);
                    if (playerInfo.instanceId != TargetBriefInfo.playerInfo.instanceId)
                    {
                        ShowPlayerLifeBar(TargetBriefInfo.playerInfo, true);
                    }
                    else
                    {
                        RefreshPlayerLifeBar(TargetBriefInfo.playerInfo);
                    }
                }
                playerInfo = TargetBriefInfo.playerInfo;
            }
        }
        #endregion
        void ShowBossLifeBar(uint _instanceId, int _npcId, bool _show)
        void ShowBossLifeBar(TargetBriefInfo.MonsterInfo bossInfo, bool show)
        {
            if (_show)
            if (show)
            {
                m_ContainerPlayer.gameObject.SetActive(false);
                m_ContainerBoss.gameObject.SetActive(true);
                m_FairyGrabBossBuffTip.Init();
                var boss = GAMgr.Instance.GetBySID(_instanceId) as GActorNpcFight;
                if (boss != null)
                {
                    m_BossLifeBar.SetBaseInfo(_npcId, boss.ActorInfo.RealHp, boss.ActorInfo.RealMaxHp, boss.ActorInfo.LV);
                }
                m_ElderGodAnger.Display(_npcId);
                m_FairyGrabBossBuffTip.Display(_npcId);
                m_BossLifeBar.SetBaseInfo(bossInfo.npcId, bossInfo.hp, bossInfo.maxHp, bossInfo.level);
                m_ElderGodAnger.Display(bossInfo.npcId);
                m_FairyGrabBossBuffTip.Display(bossInfo.npcId);
            }
            else
            {
@@ -325,32 +375,28 @@
            }
        }
        void RefreshBossLifeBar(uint _instanceId, int _npcId, ulong _hp, ulong _maxHp)
        void RefreshBossLifeBar(TargetBriefInfo.MonsterInfo bossInfo)
        {
            m_ContainerBoss.gameObject.SetActive(true);
            m_BossLifeBar.Show(_hp, _maxHp);
            m_BossLifeBar.Show(bossInfo.hp, bossInfo.maxHp);
        }
        void ShowPlayerLifeBar(uint _instanceId, bool _show)
        void ShowPlayerLifeBar(TargetBriefInfo.PlayerInfo playerInfo, bool show)
        {
            if (_show)
            if (show)
            {
                var player = GAMgr.Instance.GetBySID(_instanceId) as GActorPlayerBase;
                if (player != null)
                {
                    m_ContainerPlayer.gameObject.SetActive(true);
                    m_ContainerBoss.gameObject.SetActive(false);
                    m_FairyGrabBossBuffTip.UnInit();
                m_ContainerPlayer.gameObject.SetActive(true);
                m_ContainerBoss.gameObject.SetActive(false);
                m_FairyGrabBossBuffTip.UnInit();
                    var job = player.ActorInfo.Job;
                    var reincarnationLv = player.ActorInfo.ReincarnationLv;
                    var playerName = player.ActorInfo.PlayerName;
                    var playerLevel = player.ActorInfo.LV;
                    var playerHp = player.ActorInfo.RealHp;
                    var playerMaxHp = player.ActorInfo.RealMaxHp;
                var instanceId = playerInfo.instanceId;
                var job = playerInfo.job;
                var playerName = playerInfo.name;
                var playerLevel = playerInfo.level;
                var playerHp = playerInfo.hp;
                var playerMaxHp = playerInfo.maxHp;
                    m_PlayerLifeBar.SetBaseInfo((int)_instanceId, job, reincarnationLv, playerName, playerLevel, playerHp, playerMaxHp);
                }
                m_PlayerLifeBar.SetBaseInfo((int)instanceId, job, 0, playerName, playerLevel, playerHp, playerMaxHp);
            }
            else
            {
@@ -359,10 +405,10 @@
        }
        void RefreshPlayerLifeBar(uint _instanceId, ulong _hp, ulong _maxHp)
        void RefreshPlayerLifeBar(TargetBriefInfo.PlayerInfo playerInfo)
        {
            m_ContainerPlayer.gameObject.SetActive(true);
            m_PlayerLifeBar.Show(_hp, _maxHp);
            m_PlayerLifeBar.Show(playerInfo.hp, playerInfo.maxHp);
        }
    }