using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class RidingPetBossHintWin : Window
|
{
|
[SerializeField] Text m_Progress;
|
[SerializeField] RankBehaviour[] m_Ranks;
|
[SerializeField] Text m_MyHurt;
|
[SerializeField] Text m_MyRank;
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
const long BOSSHP_TOTAL = 1000000000;
|
|
void DisplayProgress()
|
{
|
var mission = dungeonModel.mission;
|
var currentHp = (long)(mission.remainHPPer/* * 0.000001d * BOSSHP_TOTAL*/);
|
var progress = 100 - (float)currentHp/* / BOSSHP_TOTAL*/;
|
m_Progress.text = StringUtility.Contact((int)(progress/* * 100*/), "%");
|
}
|
|
void DisplayTop3HurtRank()
|
{
|
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 DisplayMyHurtRank()
|
{
|
var mission = dungeonModel.mission;
|
m_MyHurt.text = UIHelper.ReplaceLargeNum(mission.myHurtTotal);
|
m_MyRank.text = mission.myRank == 0 ? string.Empty : mission.myRank.ToString();
|
}
|
|
void DisplayAll()
|
{
|
DisplayProgress();
|
DisplayTop3HurtRank();
|
DisplayMyHurtRank();
|
}
|
|
protected override void BindController()
|
{
|
|
}
|
|
protected override void AddListeners()
|
{
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
dungeonModel.updateMissionEvent += DisplayAll;
|
DisplayAll();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
dungeonModel.updateMissionEvent -= DisplayAll;
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
|
}
|
|
[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;
|
}
|
}
|
}
|