using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class FamilyAffairCell : CellView
|
{
|
FairyNewModel familyModel { get { return ModelCenter.Instance.GetModel<FairyNewModel>(); } }
|
|
[SerializeField] Text nameTxt;
|
[SerializeField] Transform[] stars;
|
[SerializeField] Text stateTxt;
|
[SerializeField] Text timeText;
|
[SerializeField] ItemCell[] items;
|
[SerializeField] Image scenseImg;
|
[SerializeField] Button start;
|
[SerializeField] Button getBtn;
|
|
int state = 0;
|
int remainTime = 0;
|
int startSeconds = 0;
|
public void Display(int affairID)
|
{
|
var affairInfo = familyModel.familyAffairDic[affairID];
|
state = affairInfo.State;
|
remainTime = affairInfo.RemainDuration;
|
startSeconds = affairInfo.StartSeconds;
|
nameTxt.text = Language.Get("FamillyFunc17_" + affairInfo.Star);
|
getBtn.SetActive(false);
|
for (int i = 0; i < stars.Length; i++)
|
{
|
stars[i].SetActive(i < affairInfo.Star);
|
}
|
if (state == 0)
|
{
|
stateTxt.SetActive(false);
|
timeText.text = Language.Get("FamillyFunc15") + TimeUtility.SecondsToHMS(familyModel.affairStarInfo[affairInfo.Star].times);
|
start.SetActive(true);
|
start.AddListener(() => {
|
var pack = new CA613_tagCMFamilyAffairOP();
|
pack.AffairID = (ushort)affairID;
|
pack.OPType = 2;
|
GameNetSystem.Instance.SendInfo(pack);
|
});
|
}
|
else
|
{
|
start.SetActive(false);
|
stateTxt.SetActive(true);
|
stateTxt.text = Language.Get(state == 1 ? "FamillyFunc20": "FamillyFunc21");
|
|
if (remainTime == 0)
|
{
|
timeText.text = Language.Get("FamillyFunc21");
|
getBtn.SetActive(state == 1);
|
stateTxt.SetActive(!getBtn.IsActive());
|
}
|
else
|
{
|
stateTxt.SetActive(true);
|
}
|
}
|
|
getBtn.AddListener(() => {
|
var pack = new CA613_tagCMFamilyAffairOP();
|
pack.AffairID = (ushort)affairID;
|
pack.OPType = 3;
|
GameNetSystem.Instance.SendInfo(pack);
|
});
|
|
var awards = familyModel.affairStarInfo[affairInfo.Star].items;
|
for (int i = 0; i < items.Length; i++)
|
{
|
if (i < awards.Length)
|
{
|
items[i].SetActive(true);
|
int itemID = awards[i][0];
|
items[i].Init(new ItemCellModel(itemID, false, (ulong)awards[i][1]));
|
items[i].button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
}
|
else
|
{
|
items[i].SetActive(false);
|
}
|
}
|
|
scenseImg.SetSprite("familyAffairStar" + affairInfo.Star);
|
}
|
private void Update()
|
{
|
|
if (state == 1)
|
{
|
if (remainTime == -1) return;
|
|
if (remainTime == 0 || TimeUtility.AllSeconds - startSeconds - remainTime >= 0)
|
{
|
remainTime = -1;
|
timeText.text = Language.Get("FamillyFunc21");
|
getBtn.SetActive(true);
|
stateTxt.SetActive(false);
|
return;
|
}
|
|
timeText.text = TimeUtility.SecondsToHMS(remainTime - (TimeUtility.AllSeconds - startSeconds));
|
|
}
|
else if (state == 2)
|
{
|
stateTxt.SetActive(true);
|
}
|
}
|
}
|
}
|
|