//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, December 27, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FairyLeagueDungeonSettleWin : DungeonDefeatedWin { [SerializeField] RectTransform m_ContainerWin; [SerializeField] RectTransform m_ContainerDefeat; [SerializeField] Text m_FightTimeTxt; [SerializeField] Text m_IntegralTxt; [SerializeField] ScrollerController scrollerController; [SerializeField, Header("联赛第一名Cell大小")] float m_FirstRankCellSize = 70; [SerializeField, Header("联赛其他名次Cell大小")] float m_NormalRankCellSize = 58; FairyLeagueModel m_FairyLeagueModel; FairyLeagueModel fairyLeagueModel { get { return m_FairyLeagueModel ?? (m_FairyLeagueModel = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { base.AddListeners(); scrollerController.OnGetDynamicSize += OnGetDynamicSize; } protected override void OnPreOpen() { base.OnPreOpen(); RefreshData(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } protected override void LateUpdate() { base.LateUpdate(); } protected override void OnActived() { base.OnActived(); } #endregion private bool OnGetDynamicSize(ScrollerDataType type, int index, out float height) { if (fairyLeagueModel.fairyLeagueGroupId == 5 && (index == fairyLeagueModel.GetBattleWinFirstPlayer() || index == fairyLeagueModel.GetBattleDefeatFirstPlayer())) { height = m_FirstRankCellSize; } else { height = m_NormalRankCellSize; } return true; } private void RefreshData() { m_IntegralTxt.text = Language.Get("UnionMatchIntergralAdd", fairyLeagueModel.integralAddition); m_FightTimeTxt.text = TimeUtility.SecondsToHMS(fairyLeagueModel.fairyLeagueTotalTime); m_ContainerWin.gameObject.SetActive(fairyLeagueModel.fairyLeagueWinFaction == PlayerDatas.Instance.baseData.faction); m_ContainerDefeat.gameObject.SetActive(fairyLeagueModel.fairyLeagueWinFaction != PlayerDatas.Instance.baseData.faction); scrollerController.Refresh(); var _list = fairyLeagueModel.fairyLeagueResults; for (int i = 0; i < _list.Count; i++) { scrollerController.AddCell(ScrollerDataType.Header, i); } scrollerController.Restart(); } } }