//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, October 11, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class RealmUpHoldWin : Window { [SerializeField] Image m_PlayerIcon; [SerializeField] Text m_AddValue; [SerializeField] Text m_Desc; [SerializeField] Button m_HoldBtn; [SerializeField] Text m_HoldBtnTxt; [SerializeField] Button m_CloseBtn; DateTime displayTime = DateTime.Now; RealmModel m_Model; RealmModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_CloseBtn.onClick.AddListener(OnCloseBtn); m_HoldBtn.onClick.AddListener(OnHoldBtn); } private void OnHoldBtn() { if (PlayerDatas.Instance.realm.holdDataList.Count > 0) { RealmHoldData data = PlayerDatas.Instance.realm.holdDataList[0]; if (data.AtkAdd < model.realmHoleLimit) { CA902_tagCGRealmFBHelp holdpack = new CA902_tagCGRealmFBHelp(); holdpack.PlayerID = data.PlayerID; GameNetSystem.Instance.SendInfo(holdpack); } else { MessageWin.Inst.ShowFixedTip(Language.Get("RealmWin_Bewrite_8")); } } OnCloseBtn(); } private void OnCloseBtn() { PlayerDatas.Instance.realm.RemoveHoldData(); if (PlayerDatas.Instance.realm.holdDataList.Count > 0) { InitData(); } else { CloseImmediately(); } } protected override void OnPreOpen() { PlayerRealmData.OnRefreshHoldData += OnRefreshHoldData; InitData(); } private void OnRefreshHoldData() { InitData(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { PlayerRealmData.OnRefreshHoldData -= OnRefreshHoldData; } protected override void OnAfterClose() { } protected override void LateUpdate() { base.LateUpdate(); if ((DateTime.Now - displayTime).TotalSeconds >= model.realmGuardianDisplayTime) { OnCloseBtn(); } } #endregion private void InitData() { if (PlayerDatas.Instance.realm.holdDataList.Count == 0) { return; } displayTime = DateTime.Now; RealmHoldData data = PlayerDatas.Instance.realm.holdDataList[0]; m_AddValue.text = Language.Get("RealmWin_Bewrite_4", data.PlayerName); float _addValue = model.GetRealmHelperAttr(PlayerDatas.Instance.baseData.realmLevel > data.RealmLV ? 2 : 1, 0) / 100; m_Desc.text = Language.Get("RealmWin_Bewrite_5", _addValue); if (PlayerDatas.Instance.baseData.realmLevel > data.RealmLV) { m_HoldBtnTxt.text = Language.Get("RealmWin_Bewrite_7"); } else { m_HoldBtnTxt.text = Language.Get("RealmWin_Bewrite_6"); } m_PlayerIcon.SetSprite(GeneralConfig.Instance.GetJobHeadPortrait(data.Job, data.JobRank)); } } }