wangguan
2020-12-10 c4e6d5838229decfda40a33d7355522f1a47921c
Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs
@@ -8,6 +8,7 @@
using UnityEngine.Networking;
using Protobuf;
using Google.Protobuf;
using DG.Tweening;
public class LoginUI : MonoBehaviour
{
@@ -21,11 +22,14 @@
    private Text versionTxt;//版本号
    private Text resVersion;//资源版本号
    float waitTime;//切换场景等待时间
    // Start is called before the first frame update
    void Start()
    {
        AudioSourceManager.Ins.Play(AudioEnum.BGM1);
        EventCenter.Ins.RemoveAllListener();
        isLogining = false;
@@ -50,6 +54,7 @@
        //transform.Find("Panel/Button (1)").GetComponent<Button>().onClick.AddListener(OnClickResetBtn);
        if (Application.platform == RuntimePlatform.Android)
        {
            //GetetDeviceIMEI();//获取安卓手机IMEI
@@ -60,6 +65,8 @@
            imei0 = "MyTestGemBattle123";
        }
        GameConfig.PlayerName = imei0;
        versionTxt.text = "版本号:" + Application.version;
        //resVersion.text 暂时没有使用
        transform.Find("Panel/PlayerID").GetComponent<Text>().text = "玩家ID:" + imei0;
@@ -67,32 +74,47 @@
        if (!GameConfig.isFirstStart)//后续直接加载
        {
            OnClickLoginBtn();
            waitTime = 2f;
            loginNext();
        }
        else
        {
            waitTime = 0f;
            //第一次启动,初始化并且埋点
            TDAA_SDKManager.Ins.SDKInit(ChannelID.Gm.ToString());
            TDAA_SDKManager.Ins.Statistics(1);//成功加载登陆界面的人数
            if (!GameConfig.useSDK)
            {
                TDAA_SDKManager.Ins.SDKInit(ChannelID.Gm.ToString());
                TDAA_SDKManager.Ins.Statistics(1);//成功加载登陆界面的人数
            }
        }
    }
    // private void OnEnable()
    // {
    //     SocketEvent.Ins.Add<IMessage>((int)Opcode.LoginS2C, LoginS2C);
    // }
    /// <summary>
    /// 开始游戏
    /// </summary>
    void loginNext()
    {
        progressSlider.gameObject.SetActive(true);
        startBtn.gameObject.SetActive(false);
    // private void OnDestroy()
    // {
    //     SocketEvent.Ins.Remove<IMessage>((int)Opcode.LoginS2C, LoginS2C);
        AudioSourceManager.Ins.Play(AudioEnum.UI);
        TDAA_SDKManager.Ins.Statistics(2);//埋点
    // }
        GameConfig.isFirstStart = false;
        StartCoroutine(loginMy());
    }
    #region 获得安卓手机上的IMEI号
    public string imei0 = "";
    public string imei1 = "";
    public string meid = "";
    /// <summary>
    /// 已弃用
    /// </summary>
    void GetetDeviceIMEI()
    {
        var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
@@ -119,14 +141,18 @@
    {
        if (!isLogining)
        {
            progressSlider.gameObject.SetActive(true);
            startBtn.gameObject.SetActive(false);
            AudioSourceManager.Ins.Play(AudioEnum.UI);
            TDAA_SDKManager.Ins.Statistics(2);//埋点
            GameConfig.isFirstStart = false;
            StartCoroutine(loginMy());
            // CoderM: 在这里要使用SDK来进行登录了
            if (GameConfig.useSDK)
            {
                //设置login的回调
                SDKCallBack.ins.setNextAction("login", loginNext);
                SDKManager.ins.sdk.login();
            }
            else
            {
                //没有使用SDK
                loginNext();
            }
        }
        else
        {
@@ -136,9 +162,15 @@
    IEnumerator loginMy()
    {
        progressSlider.value = 0.0f;
        System.GC.Collect();
        DOTween.Clear();
        Debug.Log("开始清理GC,清理DOTween");
        yield return new WaitForSeconds(waitTime);
        int displayProgress = 0;
        int toProgress = 0;
        AsyncOperation op = SceneManager.LoadSceneAsync(GameConfig.NextSceneName);
        AsyncOperation op = SceneManager.LoadSceneAsync("Endless2D");
        // AsyncOperation op = SceneManager.LoadSceneAsync(GameConfig.NextSceneName);
        op.allowSceneActivation = false;
        while (op.progress < 0.9f) //此处如果是 <= 0.9f 则会出现死循环所以必须小0.9
        {