using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class PrivateSetWin : Window { [SerializeField] ScrollerController activityPushCtrl; [SerializeField] Button startHourBtn; [SerializeField] Text startHourText; [SerializeField] Button startMinuteBtn; [SerializeField] Text startMinuteText; [SerializeField] Button endHourBtn; [SerializeField] Text endHourText; [SerializeField] Button endMinuteBtn; [SerializeField] Text endMinuteText; [SerializeField] Text vipLvText; [SerializeField] Text conditionText; [SerializeField] List pushBtnlist = new List(); List openDailylist; SetPrivateModel privateModel { get { return ModelCenter.Instance.GetModel(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { } protected override void AddListeners() { activityPushCtrl.OnRefreshCell += RefreshActivityPush; startHourBtn.AddListener(ClickStartTimeBtn); startMinuteBtn.AddListener(ClickStartTimeBtn); endHourBtn.AddListener(ClickEndTimeBtn); endMinuteBtn.AddListener(ClickEndTimeBtn); } protected override void OnPreOpen() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { privateModel.RefreshFreeTimeAct -= SetFreeTimeUI; } protected override void OnAfterClose() { } protected override void OnActived() { base.OnActived(); CreateActivityPush(); SetHangUpPushUI(); privateModel.RefreshFreeTimeAct += SetFreeTimeUI; } private void CreateActivityPush() { activityPushCtrl.Refresh(); openDailylist = privateModel.GetOpenDailyIdlist(); for (int i = 0; i < openDailylist.Count; i++) { activityPushCtrl.AddCell(ScrollerDataType.Header, i); } activityPushCtrl.Restart(); } private void RefreshActivityPush(ScrollerDataType type, CellView cell) { ActivityPushCell pushCell = cell.GetComponent(); pushCell.SetModel(openDailylist[cell.index]); } private void SetHangUpPushUI() { SetFreeTimeUI(); for (int i = 0; i < pushBtnlist.Count; i++) { pushBtnlist[i].SetInit(i, privateModel.GetSwitchStateByIndex(i)); } if (vipModel.IsVipActive() || vipModel.IsVipExperience()) { vipLvText.SetActive(true); conditionText.SetActive(false); vipLvText.text = StringUtility.Contact(Language.Get("Role_TieTitle_4"), PlayerDatas.Instance.baseData.VIPLv); } else { vipLvText.SetActive(false); conditionText.SetActive(true); } } private void SetFreeTimeUI() { startHourText.text = privateModel.startHour.ToString("D2"); startMinuteText.text = privateModel.startMinute.ToString("D2"); endHourText.text = privateModel.endHour.ToString("D2"); endMinuteText.text = privateModel.endMinute.ToString("D2"); } private void ClickStartTimeBtn() { if (!vipModel.IsVipActive() && !vipModel.IsVipExperience()) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("SetUpPrivate101")); return; } SetFreeTimeWin.SetTitleName(1, privateModel.startHour, privateModel.startMinute); WindowCenter.Instance.Open(); } private void ClickEndTimeBtn() { if (!vipModel.IsVipActive() && !vipModel.IsVipExperience()) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("SetUpPrivate101")); return; } SetFreeTimeWin.SetTitleName(2, privateModel.endHour, privateModel.endMinute); WindowCenter.Instance.Open(); } } }