//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, January 28, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
using System.Collections.Generic;
|
|
public class CrossServerQualifyingSettlementWin : ILWindow
|
{
|
Button outBtn;
|
Text outTimeText;
|
Transform backFail;
|
Transform backWin;
|
List<Transform> rounds = new List<Transform>();
|
List<Text> results = new List<Text>();
|
Transform caidaiEffect;
|
|
float timer = 0f;
|
int outTime = 5;
|
#region Built-in
|
protected override void BindController()
|
{
|
outBtn = proxy.GetWidgtEx<Button>("DropOutBtn");
|
outTimeText = proxy.GetWidgtEx<Text>("DropOutBtn_text");
|
backFail = proxy.GetWidgtEx<Transform>("Back_Failure");
|
backWin = proxy.GetWidgtEx<Transform>("Back_Win");
|
for (int i = 0; i < 3; i++)
|
{
|
rounds.Add(proxy.GetWidgtEx<Transform>("RoundWin" + i));
|
results.Add(proxy.GetWidgtEx<Text>("Text_" + i));
|
}
|
caidaiEffect = proxy.GetWidgtEx<Transform>("CaidaiEffect");
|
}
|
|
protected override void AddListeners()
|
{
|
outBtn.SetListener(ExitDungeon);
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
timer = Time.time;
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
var playerID = PlayerDatas.Instance.baseData.PlayerID;
|
if (playerID == CrossServerQualifyingModel.Instance.WinnerID)
|
{
|
backFail.SetActiveIL(false);
|
backWin.SetActiveIL(true);
|
caidaiEffect.SetActiveIL(true);
|
}
|
else
|
{
|
backFail.SetActiveIL(true);
|
backWin.SetActiveIL(false);
|
caidaiEffect.SetActiveIL(false);
|
}
|
for (int i = 0; i < rounds.Count; i++)
|
{
|
if (i < CrossServerQualifyingModel.Instance.RoundWinnerID.Count)
|
{
|
rounds[i].SetActiveIL(true);
|
if (CrossServerQualifyingModel.Instance.RoundWinnerID[i] == playerID)
|
{
|
results[i].text = Language.Get("CrossServer113");
|
results[i].color = new Color32(255, 239, 71, 255);
|
}
|
else
|
{
|
results[i].text = Language.Get("CrossServer114");
|
results[i].color = new Color32(255, 244, 205, 255);
|
}
|
}
|
else
|
{
|
rounds[i].SetActiveIL(false);
|
}
|
}
|
//如果对方离线,并且一场未打,显示第一回胜利
|
if (CrossServerQualifyingModel.Instance.RoundWinnerID.Count == 0 && CrossServerQualifyingModel.Instance.OverType == 1)
|
{
|
rounds[0].SetActiveIL(true);
|
results[0].text = Language.Get("CrossServer113");
|
results[0].color = new Color32(255, 239, 71, 255);
|
}
|
}
|
|
|
protected override void OnPreClose()
|
{
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
}
|
#endregion
|
|
void OnSecondEvent()
|
{
|
if ((Time.time - timer) < outTime)
|
{
|
var seconds = Mathf.RoundToInt(outTime - (Time.time - timer));
|
outTimeText.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", seconds);
|
}
|
else
|
{
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
ExitDungeon();
|
}
|
}
|
|
|
private void ExitDungeon()
|
{
|
WindowCenter.Instance.CloseIL<CrossServerQualifyingSettlementWin>();
|
CrossServerOneVsOneRewardModel.ExitCrossRealm();
|
}
|
|
}
|