//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, January 28, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
using System.Collections.Generic;
|
|
public class CrossServerQualifyingOfficialWin : ILWindow
|
{
|
List<Button> offcialBtns = new List<Button>();
|
Transform officialHome;
|
Text officialName;
|
Text playerName;
|
Text daytip;
|
Button upBtn;
|
List<Image> selectImg = new List<Image>();
|
Button centerBtn;
|
ScrollerController scroller;
|
Button back;
|
|
|
#region Built-in
|
protected override void BindController()
|
{
|
for (int i = 0; i < 8; i++)
|
{
|
offcialBtns.Add(proxy.GetWidgtEx<Button>("official" + i));
|
}
|
officialHome = proxy.GetWidgtEx<Transform>("officialHome");
|
officialName = proxy.GetWidgtEx<Text>("officialName");
|
playerName = proxy.GetWidgtEx<Text>("playerName");
|
daytip = proxy.GetWidgtEx<Text>("daytip");
|
upBtn = proxy.GetWidgtEx<Button>("up");
|
centerBtn = proxy.GetWidgtEx<Button>("center");
|
scroller = proxy.GetWidgtEx<ScrollerController>("scroller");
|
back = proxy.GetWidgtEx<Button>("back");
|
selectImg.Add(proxy.GetWidgtEx<Image>("select0"));
|
selectImg.Add(proxy.GetWidgtEx<Image>("select1"));
|
}
|
|
protected override void AddListeners()
|
{
|
back.SetListener(()=> {
|
officialHome.SetActiveIL(false);
|
});
|
|
for (int i = 0; i < offcialBtns.Count; i++)
|
{
|
int index = i + 1;
|
offcialBtns[i].SetListener(()=> {
|
CrossServerQualifyingModel.Instance.selectOffcialID = index;
|
CrossServerQualifyingModel.Instance.selectOffcialSub = CrossServerQualifyingModel.Instance.GeDefaultOffcialSub();
|
officialHome.SetActiveIL(true);
|
ShowOffcialHome();
|
});
|
}
|
|
upBtn.SetListener(()=> {
|
if (CrossServerQualifyingModel.Instance.selectOffcialSub == 0)
|
{
|
return;
|
}
|
CrossServerQualifyingModel.Instance.selectOffcialSub = 0;
|
CreateScroller();
|
});
|
|
centerBtn.SetListener(() => {
|
if (CrossServerQualifyingModel.Instance.selectOffcialSub == 1)
|
{
|
return;
|
}
|
CrossServerQualifyingModel.Instance.selectOffcialSub = 1;
|
CreateScroller();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
CrossServerQualifyingModel.Instance.officialRedpoint.state = RedPointState.None;
|
scroller.OnRefreshCell += OnRefreshCell;
|
CrossServerQualifyingModel.Instance.UpdateOffcialEvent += UpdateOffcialEvent;
|
officialHome.SetActiveIL(CrossServerQualifyingModel.Instance.myOfficialID != 0);
|
CrossServerQualifyingModel.Instance.selectOffcialID = 0;
|
if (CrossServerQualifyingModel.Instance.myOfficialID != 0)
|
{
|
if (CrossServerQualifyingModel.Instance.myOfficialID <= 8)
|
{
|
CrossServerQualifyingModel.Instance.selectOffcialID = CrossServerQualifyingModel.Instance.myOfficialID;
|
}
|
else
|
{
|
CrossServerQualifyingModel.Instance.selectOffcialID = CrossServerQualifyingModel.Instance.myOfficialID/100;
|
}
|
}
|
CrossServerQualifyingModel.Instance.selectOffcialSub = CrossServerQualifyingModel.Instance.GeDefaultOffcialSub();
|
ShowOfficialList();
|
|
}
|
|
protected override void OnAfterOpen()
|
{
|
if (CrossServerQualifyingModel.Instance.myOfficialID != 0)
|
{
|
ShowOffcialHome();
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
CrossServerQualifyingModel.Instance.UpdateOffcialEvent -= UpdateOffcialEvent;
|
}
|
#endregion
|
|
void ShowSubBtn()
|
{
|
for (int i = 0; i < selectImg.Count; i++)
|
{
|
selectImg[i].SetActiveIL(CrossServerQualifyingModel.Instance.selectOffcialSub == i);
|
}
|
}
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetILBehaviour<CrossServerQualifyingOfficialCell>();
|
_cell?.Display(cell.index);
|
}
|
|
void ShowOfficialList()
|
{
|
for (int i = 0; i < offcialBtns.Count; i++)
|
{
|
var outOffcialName = offcialBtns[i].transform.Find("officialName").GetComponent<Text>();
|
var outPlayerName = offcialBtns[i].transform.Find("playerName").GetComponent<Text>();
|
var id = i + 1;
|
outOffcialName.text = RichTextMsgReplaceConfig.GetRichReplace("ChampionshipOfficial", i + 1);
|
|
var player = CrossServerQualifyingModel.Instance.GetOfficialPlayer(id);
|
if (player.PlayerID != 0)
|
{
|
outPlayerName.text = player.PlayerName;
|
}
|
else
|
{
|
outPlayerName.text = Language.Get("UnDetermind");
|
}
|
}
|
}
|
|
void ShowOffcialHome()
|
{
|
officialName.text = RichTextMsgReplaceConfig.GetRichReplace("ChampionshipOfficial", CrossServerQualifyingModel.Instance.selectOffcialID);
|
playerName.text = CrossServerQualifyingModel.Instance.GetOfficialPlayer(CrossServerQualifyingModel.Instance.selectOffcialID).PlayerName;
|
|
var awards = LitJson.JsonMapper.ToObject<int[][]>(ILChampionshipOfficialConfig.Get(CrossServerQualifyingModel.Instance.selectOffcialID).DailyAwardItemList);
|
daytip.text = Language.Get("CrossServerQualifying49", awards[0][1]);
|
CreateScroller();
|
}
|
|
void CreateScroller()
|
{
|
ShowSubBtn();
|
|
scroller.Refresh();
|
var subList = CrossServerQualifyingModel.Instance.offcialOperList[CrossServerQualifyingModel.Instance.selectOffcialID][CrossServerQualifyingModel.Instance.selectOffcialSub];
|
for (int i = 0; i < subList.Count; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, subList[i]);
|
}
|
scroller.Restart();
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
void UpdateOffcialEvent()
|
{
|
if (CrossServerQualifyingModel.Instance.selectOffcialID != 0)
|
{
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
}
|
}
|