//--------------------------------------------------------  
 | 
//    [Author]:           第二世界  
 | 
//    [  Date ]:           Wednesday, December 19, 2018  
 | 
//--------------------------------------------------------  
 | 
  
 | 
using System;  
 | 
using System.Collections;  
 | 
using System.Collections.Generic;  
 | 
  
 | 
using UnityEngine;  
 | 
using UnityEngine.UI;  
 | 
  
 | 
namespace vnxbqy.UI  
 | 
{  
 | 
  
 | 
      
 | 
    public class CrossServerSettlementWin : Window  
 | 
    {  
 | 
        [SerializeField] GameObject m_BackFailure;  
 | 
        [SerializeField] GameObject m_BackWin;  
 | 
        [SerializeField] Button m_DropOutBtn;  
 | 
        [SerializeField] Text m_DropOutBtnText;  
 | 
  
 | 
        [SerializeField] GameObject m_Normal;  
 | 
        [SerializeField] GameObject m_RoundWinOne;  
 | 
        [SerializeField] Text m_m_RoundWinOneTxt;  
 | 
        [SerializeField] GameObject m_RoundWinTwo;  
 | 
        [SerializeField] Text m_m_RoundWinTwo;  
 | 
        [SerializeField] GameObject m_RoundWinThree;  
 | 
        [SerializeField] Text m_m_RoundWinThree;  
 | 
        [SerializeField] GameObject m_SessionObj;  
 | 
        [SerializeField] Text m_SessionTxt;  
 | 
        [SerializeField] GameObject m_SegmentObj;  
 | 
        [SerializeField] Text m_SegmentTxt1;  
 | 
        [SerializeField] Text m_SegmentTxt2;  
 | 
  
 | 
        [SerializeField] Text m_SorceText;  
 | 
  
 | 
  
 | 
  
 | 
        [SerializeField] GameObject m_BrokenLine;  
 | 
        [SerializeField] Text m_BrokenLineText;  
 | 
        [SerializeField] GameObject m_SessionObj1;  
 | 
        [SerializeField] Text m_SessionTxt1;  
 | 
        [SerializeField] GameObject m_SegmentObj1;  
 | 
        [SerializeField] Text m_Segment_Txt1;  
 | 
        [SerializeField] Text m_Segment_Txt2;  
 | 
        [SerializeField] Text m_Sorce_Txt;  
 | 
        #region Built-in  
 | 
        CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }  
 | 
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }  
 | 
        BuffModel m_BuffModel;  
 | 
        BuffModel Buffmodel { get { return m_BuffModel ?? (m_BuffModel = ModelCenter.Instance.GetModel<BuffModel>()); } }  
 | 
        float timer = 0f;  
 | 
        private int WinSorce = 0;  
 | 
        private int FailureSorce = 0;  
 | 
        protected override void BindController()  
 | 
        {  
 | 
            var configNum1 = FuncConfigConfig.Get("CrossRealmPKScore").Numerical2;  
 | 
            var _jsonDataC = LitJson.JsonMapper.ToObject(configNum1);  
 | 
            if (_jsonDataC.Count > 0)  
 | 
            {  
 | 
                WinSorce = int.Parse(_jsonDataC[0].ToString());  
 | 
                FailureSorce = int.Parse(_jsonDataC[1].ToString());  
 | 
            }  
 | 
        }  
 | 
  
 | 
        protected override void AddListeners()  
 | 
        {  
 | 
            m_DropOutBtn.AddListener(ExitDungeon);  
 | 
        }  
 | 
  
 | 
        protected override void OnPreOpen()  
 | 
        {  
 | 
            timer = 0f;  
 | 
            int WinnerID = crossServerModel.pkResultInfo.WinnerID;  
 | 
            int playerID = (int)PlayerDatas.Instance.baseData.PlayerID;  
 | 
            if (WinnerID == playerID)  
 | 
            {  
 | 
                m_BackFailure.SetActive(false);  
 | 
                m_BackWin.SetActive(true);  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                m_BackFailure.SetActive(true);  
 | 
                m_BackWin.SetActive(false);  
 | 
            }  
 | 
            if (crossServerModel.pkResultInfo.OverType == 0)  
 | 
            {  
 | 
                m_Normal.SetActive(true);  
 | 
                m_BrokenLine.SetActive(false);  
 | 
                SetNormal();  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                SetBrokenLine();  
 | 
                m_Normal.SetActive(false);  
 | 
                m_BrokenLine.SetActive(true);  
 | 
            }  
 | 
  
 | 
        }  
 | 
  
 | 
        protected override void OnAfterOpen()  
 | 
        {  
 | 
        }  
 | 
  
 | 
        protected override void OnPreClose()  
 | 
        {  
 | 
            CrossServerOneVsOneRewardModel.SetPkType();  
 | 
            Buffmodel.PkType = CrossServerOneVsOneRewardModel.PkType;  
 | 
        }  
 | 
  
 | 
        protected override void OnAfterClose()  
 | 
        {  
 | 
        }  
 | 
        protected override void LateUpdate()  
 | 
        {  
 | 
            base.LateUpdate();  
 | 
  
 | 
            timer -= Time.deltaTime;  
 | 
            if (timer < 0f)  
 | 
            {  
 | 
                timer = 1f;  
 | 
                var endTime = model.GetCoolDownEndTime(DungeonCoolDownType.LeaveMap);  
 | 
                var seconds = (endTime - TimeUtility.ServerNow).TotalSeconds;  
 | 
                m_DropOutBtnText.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp((int)seconds, 0, int.MaxValue));  
 | 
                if (seconds <= 0)  
 | 
                {  
 | 
                    ExitDungeon();  
 | 
                }  
 | 
            }  
 | 
        }  
 | 
        #endregion  
 | 
        private void ExitDungeon()  
 | 
        {  
 | 
            if (ClientCrossServerOneVsOne.isClientCrossServerOneVsOne)  
 | 
            {  
 | 
                ClientCrossServerOneVsOne.StopClientCrossServerOneVsOne();  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                CrossServerOneVsOneRewardModel.ExitCrossRealm();  
 | 
            }  
 | 
  
 | 
            CloseClick();  
 | 
        }  
 | 
  
 | 
        private void SetNormal()  
 | 
        {  
 | 
            m_RoundWinOne.SetActive(false);  
 | 
            m_RoundWinTwo.SetActive(false);  
 | 
            m_RoundWinThree.SetActive(false);  
 | 
            m_SessionObj.SetActive(false);  
 | 
            m_SegmentObj.SetActive(false);  
 | 
            int WinnerID = crossServerModel.pkResultInfo.WinnerID;  
 | 
            int PlayerId = (int)PlayerDatas.Instance.baseData.PlayerID;  
 | 
            for (int i = 0; i < crossServerModel.pkResultInfo.RoundCount; i++)  
 | 
            {  
 | 
                int winID = (int)crossServerModel.pkResultInfo.RoundWinnerIDs[i];  
 | 
                if (i == 0)  
 | 
                {  
 | 
                    m_RoundWinOne.SetActive(true);  
 | 
                    if (winID == PlayerId)  
 | 
                    {  
 | 
                        m_m_RoundWinOneTxt.text = Language.Get("CrossServer113");  
 | 
                        m_m_RoundWinOneTxt.color = new Color32(255, 239, 71, 255);  
 | 
                    }  
 | 
                    else  
 | 
                    {  
 | 
                        m_m_RoundWinOneTxt.text = Language.Get("CrossServer114");  
 | 
                        m_m_RoundWinOneTxt.color = new Color32(255, 244, 205, 255);  
 | 
                    }  
 | 
                }  
 | 
                else if (i == 1)  
 | 
                {  
 | 
                    m_RoundWinTwo.SetActive(true);  
 | 
                    if (winID == PlayerId)  
 | 
                    {  
 | 
                        m_m_RoundWinTwo.text = Language.Get("CrossServer113");  
 | 
                        m_m_RoundWinTwo.color = new Color32(255, 239, 71, 255);  
 | 
                    }  
 | 
                    else  
 | 
                    {  
 | 
                        m_m_RoundWinTwo.text = Language.Get("CrossServer114");  
 | 
                        m_m_RoundWinTwo.color = new Color32(255, 244, 205, 255);  
 | 
                    }  
 | 
                }  
 | 
                else if (i == 2)  
 | 
                {  
 | 
                    m_RoundWinThree.SetActive(true);  
 | 
                    if (winID == PlayerId)  
 | 
                    {  
 | 
                        m_m_RoundWinThree.text = Language.Get("CrossServer113");  
 | 
                        m_m_RoundWinThree.color = new Color32(255, 239, 71, 255);  
 | 
                    }  
 | 
                    else  
 | 
                    {  
 | 
                        m_m_RoundWinThree.text = Language.Get("CrossServer114");  
 | 
                        m_m_RoundWinThree.color = new Color32(255, 244, 205, 255);  
 | 
                    }  
 | 
                }  
 | 
  
 | 
            }  
 | 
            if (crossServerModel.pkResultInfo.WinStreak > 1)  
 | 
            {  
 | 
                m_SessionObj.SetActive(true);  
 | 
                m_SessionTxt.text = crossServerModel.pkResultInfo.WinStreak.ToString();  
 | 
            }  
 | 
            if (crossServerModel.pkResultInfo.DanLV != CrossServerOneVsOneRewardModel.PkDanLvNow)  
 | 
            {  
 | 
                var config1 = CrossServerArenaConfig.Get(CrossServerOneVsOneRewardModel.PkDanLvNow);  
 | 
                m_SegmentObj.SetActive(true);  
 | 
                m_SegmentTxt1.text = config1.Name;  
 | 
                var config2 = CrossServerArenaConfig.Get(crossServerModel.pkResultInfo.DanLV);  
 | 
                m_SegmentTxt2.text = config2.Name;  
 | 
  
 | 
            }  
 | 
            if (crossServerModel.pkResultInfo.WinStreak > 1)  
 | 
            {  
 | 
                m_SorceText.text = Language.Get("CrossServer_Z1", crossServerModel.pkResultInfo.AddScore, (crossServerModel.pkResultInfo.AddScore - WinSorce));  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                if (WinnerID == PlayerId)  
 | 
                {  
 | 
                    m_SorceText.text = Language.Get("CrossServer_Z2", crossServerModel.pkResultInfo.AddScore);  
 | 
                }  
 | 
                else  
 | 
                {  
 | 
                    m_SorceText.text = Language.Get("CrossServer_Z2", crossServerModel.pkResultInfo.AddScore);  
 | 
                }  
 | 
            }  
 | 
        }  
 | 
  
 | 
        private void SetBrokenLine()  
 | 
        {  
 | 
            int WinnerID = crossServerModel.pkResultInfo.WinnerID;  
 | 
            int playerID = (int)PlayerDatas.Instance.baseData.PlayerID;  
 | 
            if (WinnerID == playerID)  
 | 
            {  
 | 
                m_BrokenLineText.text = Language.Get("CrossServer_Z6");  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                m_BrokenLineText.text = Language.Get("CrossServer_Z7");  
 | 
            }  
 | 
            if (crossServerModel.pkResultInfo.WinStreak > 1)  
 | 
            {  
 | 
                m_SessionObj1.SetActive(true);  
 | 
                m_SessionTxt1.text = crossServerModel.pkResultInfo.WinStreak.ToString();  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                m_SessionObj1.SetActive(false);  
 | 
            }  
 | 
            if (crossServerModel.pkResultInfo.DanLV != CrossServerOneVsOneRewardModel.PkDanLvNow)  
 | 
            {  
 | 
                var config1 = CrossServerArenaConfig.Get(CrossServerOneVsOneRewardModel.PkDanLvNow);  
 | 
                m_SegmentObj1.SetActive(true);  
 | 
                m_Segment_Txt1.text = config1.Name;  
 | 
                var config2 = CrossServerArenaConfig.Get(crossServerModel.pkResultInfo.DanLV);  
 | 
                m_Segment_Txt2.text = config2.Name;  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                m_SegmentObj1.SetActive(false);  
 | 
            }  
 | 
            if (crossServerModel.pkResultInfo.WinStreak > 1)  
 | 
            {  
 | 
                m_Sorce_Txt.text = Language.Get("CrossServer_Z1", crossServerModel.pkResultInfo.AddScore, (crossServerModel.pkResultInfo.AddScore - WinSorce));  
 | 
            }  
 | 
            else  
 | 
            {  
 | 
                if (WinnerID == playerID)  
 | 
                {  
 | 
                    m_Sorce_Txt.text = Language.Get("CrossServer_Z2", crossServerModel.pkResultInfo.AddScore);  
 | 
                }  
 | 
                else  
 | 
                {  
 | 
                    m_Sorce_Txt.text = Language.Get("CrossServer_Z2", crossServerModel.pkResultInfo.AddScore);  
 | 
                }  
 | 
            }  
 | 
        }  
 | 
    }  
 | 
  
 | 
}  
 | 
  
 | 
  
 | 
  
 | 
  
 |