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<SetPrivateModel>(); } }
|
DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
|
|
public void SetModel(int dailyId)
|
{
|
string title = "";
|
string weekDay = "";
|
List<string> 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<string> times)
|
{
|
if (times == null)
|
{
|
return string.Empty;
|
}
|
return string.Join("\n", times.ToArray());
|
}
|
}
|
}
|