hch
2025-12-03 e30ee01e9b30c2861192afcbba84f7c6fba90fca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 
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<RectTransform>();
            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);
            }
        }
    }
 
}