//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, March 01, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class AllianceBossHintWin : Window
|
{
|
[SerializeField] Text m_Progress;
|
[SerializeField] RankBehaviour[] m_Ranks;
|
[SerializeField] Text m_AllianceRank;
|
[SerializeField] Text m_AllianceHurt;
|
[SerializeField] Text m_AllianceParticipate;
|
|
DungeonModel dungeonModel
|
{
|
get { return ModelCenter.Instance.GetModel<DungeonModel>(); }
|
}
|
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
}
|
|
protected override void OnPreOpen()
|
{
|
dungeonModel.updateMissionEvent += UpdateMissionEvent;
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
dungeonModel.updateMissionEvent -= UpdateMissionEvent;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
|
void Display()
|
{
|
DisplayProgress();
|
DisplayHurtRank();
|
DisplayAlliance();
|
}
|
|
void DisplayProgress()
|
{
|
var mission = dungeonModel.mission;
|
var progress = 1 - (float)mission.remainHPPer / 100;
|
m_Progress.text = StringUtility.Contact((int)(progress * 100), "%");
|
}
|
|
void DisplayHurtRank()
|
{
|
var mission = dungeonModel.mission;
|
var hurtInfos = mission.hurtInfo;
|
var index = 0;
|
if (hurtInfos != null)
|
{
|
for (int i = 0; i < hurtInfos.Length; i++)
|
{
|
if (i < m_Ranks.Length)
|
{
|
m_Ranks[i].Display(hurtInfos[i].playerName, hurtInfos[i].totalHurt);
|
}
|
index++;
|
}
|
}
|
for (int i = index; i < m_Ranks.Length; i++)
|
{
|
m_Ranks[i].Reset();
|
}
|
}
|
|
void DisplayAlliance()
|
{
|
var mission = dungeonModel.mission;
|
m_AllianceRank.text = mission.myRank == 0 ? string.Empty : mission.myRank.ToString();
|
m_AllianceHurt.text = UIHelper.ReplaceLargeNum(mission.myHurtTotal);
|
m_AllianceParticipate.text = mission.myMenberCnt.ToString();
|
}
|
|
private void UpdateMissionEvent()
|
{
|
DisplayProgress();
|
DisplayHurtRank();
|
DisplayAlliance();
|
}
|
|
[Serializable]
|
public class RankBehaviour
|
{
|
[SerializeField] Text m_FairyName;
|
[SerializeField] Text m_Hurt;
|
|
public void Display(string fairyName, long hurt)
|
{
|
m_FairyName.text = fairyName;
|
m_Hurt.text = UIHelper.ReplaceLargeNum(hurt);
|
}
|
|
public void Reset()
|
{
|
m_FairyName.text = string.Empty;
|
m_Hurt.text = string.Empty;
|
}
|
}
|
}
|
}
|
|
|
|
|