From 6f328e27fd7106b6fd4b77ecdae585e7ef4429eb Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Fri, 11 Dec 2020 20:23:15 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle

---
 Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs |  110 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 80 insertions(+), 30 deletions(-)

diff --git a/Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs b/Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs
index add4710..9d7168b 100644
--- a/Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs
+++ b/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,24 +22,31 @@
 
     private Text versionTxt;//版本号
     private Text resVersion;//资源版本号
+    float waitTime;//切换场景等待时间
 
+    [SerializeField]
+    private Sprite nextSprite;
+
+    [SerializeField]
+    private Image bg;
+
+    [SerializeField]
+    private GameObject other;
 
     // Start is called before the first frame update
     void Start()
     {
-
+        AudioSourceManager.Ins.Play(AudioEnum.BGM1);
         EventCenter.Ins.RemoveAllListener();
 
         isLogining = false;
 
-        repairBtn = transform.Find("Panel/RepairBtn").GetComponent<Button>();
-        noticeBtn = transform.Find("Panel/NoticeBtn").GetComponent<Button>();
+        repairBtn = transform.Find("Panel/Other/RepairBtn").GetComponent<Button>();
         startBtn = transform.Find("Panel/StartBtn").GetComponent<Button>();
 
-        versionTxt = transform.Find("Panel/Version").GetComponent<Text>();
-        resVersion = transform.Find("Panel/ResVersion").GetComponent<Text>();
+        versionTxt = transform.Find("Panel/Other/Version").GetComponent<Text>();
 
-        progressSlider = transform.Find("Panel/Progress").GetComponent<Slider>();
+        progressSlider = transform.Find("Panel/Other/Progress").GetComponent<Slider>();
         progressSlider.value = 0;
         progressSlider.gameObject.SetActive(false);
 
@@ -52,6 +60,7 @@
 
         //transform.Find("Panel/Button (1)").GetComponent<Button>().onClick.AddListener(OnClickResetBtn);
 
+
         if (Application.platform == RuntimePlatform.Android)
         {
             //GetetDeviceIMEI();//获取安卓手机IMEI
@@ -62,39 +71,71 @@
             imei0 = "MyTestGemBattle123";
         }
 
+        GameConfig.PlayerName = imei0;
+
         versionTxt.text = "版本号:" + Application.version;
         //resVersion.text 暂时没有使用
-        transform.Find("Panel/PlayerID").GetComponent<Text>().text = "玩家ID:" + imei0;
+        transform.Find("Panel/Other/PlayerID").GetComponent<Text>().text = "玩家ID:" + imei0;
 
 
-        if (!GameConfig.isFirstStart)//后续直接加载
+        if (GameConfig.isFirstStart)
         {
-            OnClickLoginBtn();
-        }
-        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);//成功加载登陆界面的人数
+            }
+        }
+
+        SetStart();
+    }
+
+    /// <summary>
+    /// 设置开始状态
+    /// </summary>
+    private void SetStart()
+    {
+        startBtn.gameObject.SetActive(true);
+        int resId = Mathf.FloorToInt(Mathf.Clamp01(GameConfig.GameCompletedCount));
+        Image img = startBtn.transform.GetChild(0).GetComponent<Image>();
+        img.sprite = Resources.Load<Sprite>($"UI/Loading/{resId}");
+        img.SetNativeSize();
+
+        if (GameConfig.GameCompletedCount > 0)
+        {
+            other.SetActive(false);
+            bg.sprite = nextSprite;
+            bg.SetNativeSize();
         }
     }
 
-    // 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");
@@ -121,14 +162,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
         {
@@ -138,6 +183,11 @@
 
     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("Endless2D");

--
Gitblit v1.9.1