using UnityEngine; using UnityEngine.UI; namespace Snxxz.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 = ""; string openTime = ""; privateModel.GetDailyInfoById(dailyId, out title, out weekDay, out openTime); nameText.text = title; weekDayText.text = weekDay; timeText.text = 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); } } }