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(); } } 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; } } }