using DG.Tweening; using UnityEngine; using UnityEngine.UI; public class MapLoadingWin : UIBase { [Header("加载地图时长毫秒")] public int millSeconds = 1000; [Header("超过时长自动关闭毫秒")] public int autoCloseMillSeconds = 3000; [Header("洞缩小的时长毫秒")] public int holeCloseMillSeconds = 1000; [SerializeField] Transform fbLoadRect; [SerializeField] Image holeLoadImg; [SerializeField] Transform chapterLoadRect; [SerializeField] Text chapterName; [SerializeField] Text mapName; [SerializeField] Text processText; float showTime = 0; int closeTime = 0; protected override void OnPreOpen() { showTime = Time.time; if (functionOrder == 0) { fbLoadRect.SetActive(true); chapterLoadRect.SetActive(false); //副本切换 holeLoadImg.SetNativeSize(); //holeLoadImg的宽高同比1秒内缩小到0,但是不用scale的方式 var rect = holeLoadImg.GetComponent(); rect.DOSizeDelta(new Vector2(0, 0), holeCloseMillSeconds / 1000f); closeTime = autoCloseMillSeconds; } else { //章节切换 chapterLoadRect.SetActive(true); fbLoadRect.SetActive(false); int num = PlayerDatas.Instance.baseData.ExAttr1 / 10000; chapterName.text = Language.Get("MapLoad1", UIHelper.ChineseNumber(num)); mapName.text = MainChapterConfig.Get(num).ChapterName; processText.text = Language.Get("MapLoad2","0"); closeTime = millSeconds; } } protected override void OnPreClose() { } protected void LateUpdate() { var passTime = Time.time - showTime; if (passTime > closeTime / 1000f) { CloseWindow(); } if (functionOrder != 0) { var num = (int)(passTime*1000 / closeTime * 100) % 100; if (num % 6 == 0) { processText.text = Language.Get("MapLoad2", num); } } } }