From 65c75db79905e4d97a8abeba49eb789192b3b0bd Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Fri, 06 Nov 2020 20:30:34 +0800
Subject: [PATCH] 登录页面

---
 Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs |  222 +++++++++++--------------------------------------------
 1 files changed, 46 insertions(+), 176 deletions(-)

diff --git a/Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs b/Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs
index d3f68db..9e1bd6e 100644
--- a/Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs
+++ b/Assets/Scripts/GameAnalytics_SDK/UI/LoginUI.cs
@@ -15,19 +15,37 @@
     bool isLogining;
     private JsonData loginData;
 
+    private Button repairBtn;//修复
+    private Button noticeBtn;//公告
+    private Button startBtn;//开始游戏
+    private Slider progressSlider;//进度条
+
+    private Text versionTxt;//版本号
+    private Text resVersion;//资源版本号
+
+
     // Start is called before the first frame update
     void Start()
     {
-        TDAA_SDKManager.Ins.SDKInit(ChannelID.Gm.ToString());
-        TDAA_SDKManager.Ins.Statistics(1);//成功加载登陆界面的人数
+
         isLogining = false;
 
-        transform.Find("Panel/Button").GetComponent<Button>().onClick.AddListener(OnClickLoginBtn);
-        transform.Find("Panel/Button (1)").GetComponent<Button>().onClick.AddListener(OnClickResetBtn);
+        repairBtn = transform.Find("Panel/RepairBtn").GetComponent<Button>();
+        noticeBtn = transform.Find("Panel/NoticeBtn").GetComponent<Button>();
+        startBtn = transform.Find("Panel/StartBtn").GetComponent<Button>();
 
-        progressSlider = transform.Find("Progress").GetComponent<Slider>();
+        versionTxt = transform.Find("Panel/Version").GetComponent<Text>();
+        resVersion = transform.Find("Panel/ResVersion").GetComponent<Text>();
 
+        progressSlider = transform.Find("Panel/Progress").GetComponent<Slider>();
         progressSlider.value = 0;
+        progressSlider.gameObject.SetActive(false);
+
+        startBtn.onClick.AddListener(OnClickLoginBtn);
+        startBtn.gameObject.SetActive(true);
+
+        //transform.Find("Panel/Button (1)").GetComponent<Button>().onClick.AddListener(OnClickResetBtn);
+
         if (Application.platform == RuntimePlatform.Android)
         {
             //GetetDeviceIMEI();//获取安卓手机IMEI
@@ -39,20 +57,28 @@
         }
 
 
-
+        if (!GameConfig.isFirstStart)//后续直接加载
+        {
+            OnClickLoginBtn();
+        }
+        else
+        {
+            //第一次启动,初始化并且埋点
+            TDAA_SDKManager.Ins.SDKInit(ChannelID.Gm.ToString());
+            TDAA_SDKManager.Ins.Statistics(1);//成功加载登陆界面的人数
+        }
     }
 
-    private void OnEnable()
-    {
-        SocketEvent.Ins.Add<IMessage>((int)Opcode.LoginS2C, LoginS2C);
+    // private void OnEnable()
+    // {
+    //     SocketEvent.Ins.Add<IMessage>((int)Opcode.LoginS2C, LoginS2C);
+    // }
 
-    }
+    // private void OnDestroy()
+    // {
+    //     SocketEvent.Ins.Remove<IMessage>((int)Opcode.LoginS2C, LoginS2C);
 
-    private void OnDestroy()
-    {
-        SocketEvent.Ins.Remove<IMessage>((int)Opcode.LoginS2C, LoginS2C);
-
-    }
+    // }
 
     #region 获得安卓手机上的IMEI号
     public string imei0 = "";
@@ -85,176 +111,21 @@
     {
         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());
-            //StartCoroutine(LoadScene());
         }
         else
         {
 
         }
-
-        //TDAA_SDKManager.Ins.Statistics(2);//埋点
-        //LoginRequest();
     }
 
-    /// <summary>
-    /// 登录请求处理
-    /// </summary>
-    /// <param name="req"></param>
-    private void LoginRequest()
-    {
-        if (!isLogining)
-        {
-            Debug.Log("登录");
-            if (Application.platform == RuntimePlatform.WindowsEditor)
-            {
-                Debug.Log("编辑器直接登录");
-
-                //TDAA_SDKManager.Ins.Login();
-                //TDAA_SDKManager.Ins.Statistics(3);//埋点
-
-                //StartCoroutine(loginMy());
-                StartCoroutine(LoadScene());
-                return;
-            }
-
-            isLogining = true;
-            string url = GameConfig.IsDebug ? GameConfig.TestLoginUrl : GameConfig.LoginUrl;
-            JsonData data = new JsonData();
-            data["account"] = imei0;
-            data["password"] = "123456";
-            data["channelid"] = (int)ChannelID.Gm;
-            byte[] postBytes = System.Text.Encoding.Default.GetBytes(data.ToJson());
-            StartCoroutine(Post(url, postBytes));
-        }
-    }
-
-    IEnumerator Post(string url, byte[] postBytes)
-    {
-        UnityWebRequest request = UnityWebRequest.Post(url, "POST");
-        request.uploadHandler = new UploadHandlerRaw(postBytes);
-        request.downloadHandler = new DownloadHandlerBuffer();
-        request.SetRequestHeader("Content-Type", "application/json");
-        yield return request.SendWebRequest();
-
-        if (request.isDone)
-        {
-            string text = request.downloadHandler.text;
-            loginData = JsonMapper.ToObject(text);
-            if (loginData.Keys.Contains("errorcode"))
-            {
-                JsonData errorData = loginData["errorcode"];
-                isLogining = false;
-                CommonDebugHelper.DebugSocket(int.Parse(errorData.ToString()));
-
-                yield break;
-            }
-
-            if (!string.IsNullOrEmpty(text))
-            {
-                EventCenter.Ins.Add<bool>((int)KTGMGemClient.EventType.MasterSocketConnectResult, MasterSocketConnectSuccess);
-                MasterSocket.Ins.MasterIp = loginData["masterip"].ToString();
-                MasterSocket.Ins.MasterPort = int.Parse(loginData["masterport"].ToString());
-                MasterSocket.Ins.StartConnect();
-
-                // System.DateTime dt = GameUtils.GetTime(loginData["timestamp"].ToString());
-                // GameConfig.dateTime = dt;
-                // GameConfig.timeSpan = dt - System.DateTime.Now;
-            }
-            else
-            {
-                isLogining = false;
-                //UIManager.Instance.ShowWarningWind("没有登录数据返回,text:" + text);
-                //CommonDebugHelper.DebugError("--------------------- 没有登录数据返回 ---------------------text:" + text);
-            }
-        }
-        else
-        {
-            isLogining = false;
-            //UIManager.Instance.ShowWarningWind(request.error);
-
-            //CommonDebugHelper.DebugError("登录失败 request.error" + request.error);
-        }
-    }
-
-    private void MasterSocketConnectSuccess(bool res)
-    {
-        if (res)
-        {
-            Login_C2S login = new Login_C2S();
-            login.Username = loginData["username"].ToString();
-            login.Channel = (int)ChannelID.Gm;
-            login.SessionKey = loginData["sessionKey"].ToString();
-            MasterSocket.Ins.SendMsg(Opcode.LoginC2S, login);
-        }
-        else
-        {
-            CommonDebugHelper.DebugError("Socket 链接失败了");
-        }
-    }
-
-    private void LoginS2C(IMessage msg)
-    {
-        Login_S2C login = (Login_S2C)msg;
-        if (login.Errorcode == 0)
-        {
-            Debug.Log("--------------------- 登录成功 ---------------------");
-            //UserDataMsg userData = login.Userdata;
-
-            //TDAA_SDKManager.Ins.Login();
-            //TDAA_SDKManager.Ins.Statistics(3);//埋点
-
-            //StartCoroutine(loginMy());
-            StartCoroutine(LoadScene());
-
-        }
-        else
-        {
-            CommonDebugHelper.DebugSocket(login.Errorcode);
-            isLogining = false;
-        }
-    }
-
-
-    IEnumerator LoadScene()
-    {
-        async = SceneManager.LoadSceneAsync(GameConfig.NextSceneName);
-        //async.allowSceneActivation = true;
-        while (!async.isDone)
-        {
-            if (async.progress < 0.9f)
-            {
-                Debug.Log(async.progress);
-
-            }
-            //progressValue = async.progress;
-            else
-                Debug.Log("超过0.9,");
-            //progressValue = 1.0f;
-            //slider.value = progressValue;
-            //progress.text = (int)(slider.value * 100) + " %";
-
-            if (async.progress >= 0.89)
-            {
-                Debug.Log("进展时间分别是:" + async.progress + ",");
-
-                //progress.text = "按任意键继续";
-                if (Input.anyKeyDown)
-                {
-                    async.allowSceneActivation = true;
-                }
-
-            }
-
-            //yield return null;
-        }
-        yield return null;
-    }
-
-    private Slider progressSlider;
     IEnumerator loginMy()
     {
         int displayProgress = 0;
@@ -288,8 +159,7 @@
 
     private void SetLoadingPercentage(int displayProgress)
     {
-        CommonDebugHelper.Debug($"当前进度{displayProgress}%");
-
+        //CommonDebugHelper.Debug($"当前进度{displayProgress}%");
     }
 
 }

--
Gitblit v1.9.1