using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class ActivityPushCell : CellView { [SerializeField] Text nameText; [SerializeField] Text weekDayText; [SerializeField] Text timeText; [SerializeField] PushSwitchBtn pushBtn; [SerializeField] GameObject bgObj; SetPrivateModel privateModel { get { return ModelCenter.Instance.GetModel(); } } DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel(); } } public void SetModel(int dailyId) { string title = ""; string weekDay = ""; List openTime =null; privateModel.GetDailyInfoById(dailyId, out title, out weekDay, out openTime); nameText.text = title; weekDayText.text = weekDay; timeText.text = GetTimeLabel(openTime); var quests = dailyQuestModel.GetDailyQuests(DailyQuestModel.DailyQuestCategory.TimeLimit); int index = privateModel.GetSwitchIndexById(dailyId, quests); pushBtn.SetInit(index, privateModel.GetSwitchStateByIndex(index)); pushBtn.switchBtn.SetListener(() => { if (pushBtn.onObj.activeInHierarchy) { pushBtn.RefreshSwitchUI(false); privateModel.RefreshPushSet(pushBtn.switchIndex, false); privateModel.RemoveActivityPush(dailyId); } else { pushBtn.RefreshSwitchUI(true); privateModel.RefreshPushSet(pushBtn.switchIndex, true); privateModel.AddActivityPush(dailyId); } }); bgObj.SetActive(this.index % 2 == 0); } static string GetTimeLabel(List times) { if (times == null) { return string.Empty; } return string.Join("\n", times.ToArray()); } } }