//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Saturday, October 14, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class NormalCollectWin : Window { [SerializeField] SmoothSlider m_SmoothSlider; [SerializeField] Text m_Progress; [SerializeField] Text m_FairyFeastTip; DateTime endTime; float currentProgress = 0; public static PrepareHandler.ClientH0812 s_CollectInfo; DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { currentProgress = 0f; m_SmoothSlider.ResetValue(0); m_Progress.text = StringUtility.Contact(currentProgress, "%"); endTime = TimeUtility.ServerNow.AddMilliseconds(s_CollectInfo.MaxTime); var mapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); m_FairyFeastTip.SetActive(mapId == 31230); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } protected override void OnActived() { if (!PrepareHandler.Instance.isPreparing) { CloseClick(); } } protected override void LateUpdate() { var progress = 1 - (float)(endTime - TimeUtility.ServerNow).TotalMilliseconds / s_CollectInfo.MaxTime; m_SmoothSlider.value = progress; progress = (float)Math.Round(progress * 100, 0); if (currentProgress != progress) { currentProgress = progress; m_Progress.text = StringUtility.Contact(currentProgress, "%"); } if (currentProgress >= 100) { CloseImmediately(); } } #endregion } }