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<PushSwitchBtn> pushBtnlist = new List<PushSwitchBtn>();
|
List<int> openDailylist;
|
SetPrivateModel privateModel { get { return ModelCenter.Instance.GetModel<SetPrivateModel>(); } }
|
VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
|
|
|
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<ActivityPushCell>();
|
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<SetFreeTimeWin>();
|
}
|
|
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<SetFreeTimeWin>();
|
}
|
|
|
}
|
}
|