using UnityEngine;
|
using UnityEngine.UI;
|
|
using System;
|
|
namespace vnxbqy.UI
|
{
|
public class ToHiTaskCell : CellView
|
{
|
[SerializeField] Image activeIcon;
|
[SerializeField] Text activeNameText;
|
[SerializeField] Text activeDesText;
|
[SerializeField] Text progressText;
|
[SerializeField] Button gobtn;
|
[SerializeField] GameObject completeImg;
|
|
AllPeoplePartyConfig taskConfig;
|
FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel<FairylandCeremonyModel>(); } }
|
|
private void OnEnable()
|
{
|
ceremonyModel.RefreshHiPointAct += OnRefreshProgress;
|
}
|
|
private void OnDisable()
|
{
|
ceremonyModel.RefreshHiPointAct -= OnRefreshProgress;
|
}
|
|
public void Init(AllPeoplePartyConfig taskConfig)
|
{
|
activeNameText.SetActive(false);
|
this.taskConfig = taskConfig;
|
activeIcon.SetSprite(taskConfig.IconKey);
|
SetTaskState(ceremonyModel.GetPeopleTaskTimesById(taskConfig.ID),taskConfig.TotalTimes);
|
activeDesText.text = string.Format(taskConfig.TaskDes,taskConfig.AddPoint);
|
}
|
|
private void OnRefreshProgress(int actId)
|
{
|
if (taskConfig == null || taskConfig.ID != actId) return;
|
|
SetTaskState(ceremonyModel.GetPeopleTaskTimesById(taskConfig.ID), taskConfig.TotalTimes);
|
}
|
|
public void SetTaskState(int curProgress,int sumProgress)
|
{
|
gobtn.RemoveAllListeners();
|
progressText.text = StringUtility.Contact(curProgress, "/", sumProgress);
|
if (curProgress < sumProgress)
|
{
|
gobtn.SetActive(true);
|
completeImg.SetActive(false);
|
progressText.color = UIHelper.GetUIColor(TextColType.Red);
|
gobtn.AddListener(()=>
|
{
|
WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)taskConfig.JumpId);
|
});
|
}
|
else
|
{
|
gobtn.SetActive(false);
|
completeImg.SetActive(true);
|
progressText.color = UIHelper.GetUIColor(TextColType.Green);
|
}
|
}
|
}
|
}
|