using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
using System.Collections.Generic;
|
|
namespace vnxbqy.UI
|
{
|
public class HolidayTravelTaskWin : Window
|
{
|
ScrollerController awardCtrl;
|
ScrollerController taskCtrl;
|
Text travelPointText;
|
Text OpenTime;
|
|
HolidayTravelModel model { get { return ModelCenter.Instance.GetModel<HolidayTravelModel>(); } }
|
|
|
protected override void BindController()
|
{
|
awardCtrl = GetWidgt<ScrollerController>("AwardCellCtrl");
|
taskCtrl = GetWidgt<ScrollerController>("TaskCellCtrl");
|
travelPointText = GetWidgt<Text>("valueText");
|
OpenTime = GetWidgt<Text>("ActivityDesText");
|
|
awardCtrl.OnRefreshCell += RefreshAwardCell;
|
taskCtrl.OnRefreshCell += RefreshTaskCell;
|
}
|
|
protected override void AddListeners()
|
{
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
model.onTravelAwards += CreateAwardCell;
|
model.onTaskProcess += CreateTaskCell;
|
Init();
|
}
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
model.onTravelAwards -= CreateAwardCell;
|
model.onTaskProcess -= CreateTaskCell;
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
private void Init()
|
{
|
travelPointText.text = model.travelPoint.ToString();
|
CreateAwardCell();
|
CreateTaskCell();
|
DisplayOpenTime();
|
taskCtrl.JumpIndex(0);
|
awardCtrl.JumpIndex(model.GetCanGetAwardIndex());
|
}
|
|
private void CreateTaskCell()
|
{
|
|
taskCtrl.Refresh();
|
foreach(var taskID in model.travelTaskSort)
|
{
|
taskCtrl.AddCell(ScrollerDataType.Header, taskID);
|
}
|
taskCtrl.Restart();
|
|
}
|
|
private void RefreshTaskCell(ScrollerDataType type, CellView cell)
|
{
|
HolidayTravelTaskCell taskCell = cell.GetComponent<HolidayTravelTaskCell>();
|
if (taskCell == null) return;
|
|
taskCell.Init((byte)cell.index);
|
}
|
|
private void CreateAwardCell()
|
{
|
if (awardCtrl.GetNumberOfCells(awardCtrl.m_Scorller) > 0)
|
{
|
awardCtrl.m_Scorller.RefreshActiveCellViews();
|
}
|
else
|
{
|
awardCtrl.Refresh();
|
foreach(var award in model.playerTravelAwards)
|
{
|
awardCtrl.AddCell(ScrollerDataType.Header, award.Key);
|
}
|
awardCtrl.Restart();
|
}
|
}
|
|
private void RefreshAwardCell(ScrollerDataType type, CellView cell)
|
{
|
HolidayTravelAwardCell awardCell = cell.GetComponent<HolidayTravelAwardCell>();
|
if (awardCell == null) return;
|
|
awardCell.Init((byte)cell.index);
|
}
|
|
void DisplayOpenTime()
|
{
|
OperationHolidayTravel operation;
|
if (OperationTimeHepler.Instance.TryGetOperation(model.operationType, out operation))
|
{
|
OpenTime.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
|
}
|
}
|
}
|
}
|