三国卡牌客户端基础资源仓库
yyl
2025-05-30 3d3e7f061a1086c14c1eb4fba71b785776d233c2
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using LaunchCommon;
 
public class LaunchExWin : MonoBehaviour
{
    [SerializeField] Image m_BackGround;
    [SerializeField] RectTransform m_AndroidProgressContainer; // 显示进度条 和平台无关
    [SerializeField] RectTransform m_IosProgressContainer;  //显示转圈,ios进度条会导致审核不通过
    [SerializeField] RectTransform circleImg;
    [SerializeField] RectTransform m_NetworkContainer;
    [SerializeField] Text m_NetworkTip;
    [SerializeField] Slider m_TotalProgressSlider;
    [SerializeField] Text m_StageDescription;
    [SerializeField] Text m_IosProgressTip;
    [SerializeField] Text m_Version;
    //预制体上的图片无法加载,通过代码加载
    [SerializeField] Image imagebg1;
    [SerializeField] Image imagebg2;
    [SerializeField] Image imageCircle;
    [SerializeField] Image imagebg3;
    [SerializeField] Image imageloding;
 
 
    int AllTimes = 8;
    bool ShowCircleView = false;
    string sliderText;
 
    void Awake()
    {
        var sprite = LocalResManager.Instance.LoadSprite("Launch_1");
        m_BackGround.overrideSprite = sprite;
        m_BackGround.preserveAspect = true;
        sliderText = InitialFunctionConfig.Get("Language").Numerical3;
        imagebg1.sprite = LocalResManager.Instance.LoadSprite("TY_TB_JH1");
        imagebg2.sprite = LocalResManager.Instance.LoadSprite("TY_TB_JH1");
        imageCircle.sprite = LocalResManager.Instance.LoadSprite("TY_TB_JH2");
        imagebg3.sprite = LocalResManager.Instance.LoadSprite("LoadingBottom");
        imageloding.sprite = LocalResManager.Instance.LoadSprite("LoadingSlider");
    }
 
    private void OnEnable()
    {
        if (m_NetworkContainer != null)
        {
            m_NetworkContainer.gameObject.SetActive(false);
        }
        m_NetworkTip.text = InitialFunctionConfig.Get("Language").Numerical4;
 
        var AppleCheck = InitialFunctionConfig.Get("CheckTime").Numerical1;
        if (Application.platform == RuntimePlatform.IPhonePlayer && AppleCheck == "1")
            ShowCircleView = true;
 
        if (ShowCircleView)
        {
            m_AndroidProgressContainer.gameObject.SetActive(false);
            m_IosProgressContainer.gameObject.SetActive(true);
            m_Version.text = string.Empty;
        }
        else
        {
            m_AndroidProgressContainer.gameObject.SetActive(true);
            m_IosProgressContainer.gameObject.SetActive(false);
            m_Version.text = StringUtility.Contact(VersionConfigEx.Get().version, "_", VersionConfigEx.Get().buildIndex, LocalResManager.Id);
        }
 
 
        UpdateProgress();
    }
 
    float m_Time = 0;
 
    void Update()
    {
        if (ShowCircleView)
        {
            circleImg.Rotate(Vector3.forward, -180 * Time.deltaTime);
        }
        if (Time.time - m_Time < 0.2)
        {
            return;
        }
        m_Time = Time.time;
        UpdateProgress();
 
        if (HttpBehaviour.ConnectAllTimes >= AllTimes && m_NetworkContainer != null)
        {
            m_NetworkContainer.gameObject.SetActive(true);
        }
    }
 
    private void UpdateProgress()
    {
        float value;
        if (LocalResManager.step == LocalResManager.LoadDllStep.None)
            value = 0.05f;
        else
            value = DownLoadAndDiscompressTask.Instance.progress;
 
        if (float.IsNaN(value) || value < 0.05)
        {
            value = 0.05f;
        }
        if (ShowCircleView)
        {
            m_IosProgressTip.text = StringUtility.Contact(sliderText, " ", (int)(value * 100), "%");
            //circleImg.Rotate(Vector3.forward, -1800 * Time.deltaTime);
        }
        else
        {
            m_TotalProgressSlider.value = value;
            m_StageDescription.text = StringUtility.Contact(sliderText, " ", (int)(value * 100), "%");
        }
 
    }
 
    public static GameObject OpenWindow()
    {
        GameObject window = GameObject.Instantiate(LocalResManager.Instance.LoadBuiltInPrefab("LaunchExWin"));
        window.transform.localScale = Vector3.zero;
        return window;
    }
}