少年修仙传客户端代码仓库
client_Zxw
2018-12-24 495adb0759399b88629a5154cc45dfb6f6c85bd1
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
1个文件已修改
47 ■■■■■ 已修改文件
System/CrossServerOneVsOne/FightingPKWin.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/FightingPKWin.cs
@@ -17,6 +17,12 @@
        [SerializeField] RoleInformation m_RoleInformation2;
        [SerializeField] Button m_AutoBtn;
        [SerializeField] GameObject m_AutoImg;
        [SerializeField] Text m_ScoreText1;
        [SerializeField] Text m_ScoreText2;
        [SerializeField] Text m_CountdownText;
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        DateTime endTime;
        DateTime dungeonEndTime;
        #region Built-in
        protected override void BindController()
        {
@@ -44,6 +50,7 @@
            m_RoleInformation2.SetHeroHP(CrossServerLogin.Instance.oneVsOnePlayerData.opponentMaxHp, CrossServerLogin.Instance.oneVsOnePlayerData.opponentMaxHp);
            m_RoleInformation1.SetShieldNumber(1, 1);
            SetScoreText();
        }
        protected override void OnAfterOpen()
@@ -51,7 +58,9 @@
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            GA_Player.s_OnRefreshLife += OnRefreshPlayerLifeBar;
            HeroBehaviour.OnStopHandupAI += OnHeroHandupAIStopPassive;
            HeroBehaviour.OnStartHandupAI += OnHeroHandupAIStarted;
            HeroBehaviour.OnStartHandupAI += OnHeroHandupAIStarted;
            dungeonModel.dungeonCoolDownEvent += DungeonCoolDownEvent;
            dungeonModel.updateMissionEvent += UpdateMissionEvent;
        }
       
@@ -61,10 +70,12 @@
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
            GA_Player.s_OnRefreshLife -= OnRefreshPlayerLifeBar;
            HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive;
            HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted;
            HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted;
            dungeonModel.dungeonCoolDownEvent -= DungeonCoolDownEvent;
            dungeonModel.updateMissionEvent -= UpdateMissionEvent;
        }
        protected override void OnAfterClose()
        {
@@ -79,8 +90,17 @@
            {
                m_AutoImg.SetActive(false);
            }
            var surplus = dungeonEndTime - DateTime.Now;
            m_CountdownText.text = TimeUtility.SecondsToHMSCHSRetain((int)surplus.TotalSeconds, false, false);
        }
        #endregion
        private void DungeonCoolDownEvent(DungeonCoolDownType type)
        {
            if (type == DungeonCoolDownType.TowerTake)
            {
                dungeonEndTime = dungeonModel.GetCoolDownEndTime(DungeonCoolDownType.TowerTake);
            }
        }
        private void Updatefighting(PlayerDataRefresh _tCDBPlayerRefresh)
        {
            switch (_tCDBPlayerRefresh)
@@ -100,6 +120,10 @@
                    m_RoleInformation1.SetShieldNumber(PlayerDatas.Instance.extersion.MaxProDef, (int)PlayerDatas.Instance.baseData.ExAttr4);
                    break;
            }
        }
        private void UpdateMissionEvent()
        {
            SetScoreText();
        }
        private void OnRefreshPlayerLifeBar(uint _instanceId, ulong _hp, ulong _maxHp)
        {
@@ -144,6 +168,23 @@
            }
            m_AutoImg.SetActive(!m_AutoImg.activeSelf);
        }
        private void SetScoreText()
        {
            int roundNum = dungeonModel.mission.roundNum;
            int myWin = 0;
            int playerID = (int)PlayerDatas.Instance.baseData.PlayerID;
            for (int i = 0; i < dungeonModel.mission.roundWinerIDList.Length; i++)
            {
                if (dungeonModel.mission.roundWinerIDList[i] == playerID)
                {
                    myWin += 1;
                }
            }
            m_ScoreText1.text = myWin.ToString();
            m_ScoreText2.text = (roundNum - myWin).ToString();
        }
    }
}