Browse Source

恢复以兼容ios

guodong 1 năm trước cách đây
mục cha
commit
048106aa9d

+ 13 - 0
GameClient/Assets/Game/HotUpdate/Platform/QDManager.cs

@@ -3,11 +3,24 @@
 
     public class QDManager
     {
+        public static bool isInited = false;
+
         public static void Init()
         {
 
         }
 
+        public static void InitPlatform()
+        {
+            ViewManager.Show<ModalStatusView>("正在初始化...");
+            switch (LauncherConfig.ChannelId)
+            {
+                default:
+                    EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_INITED, true);
+                    break;
+            }
+        }
+
         public static void Login()
         {
             ViewManager.Show<ModalStatusView>("登录中...");

+ 33 - 4
GameClient/Assets/Game/HotUpdate/Views/Login/LoginView.cs

@@ -59,6 +59,7 @@ namespace GFGGame
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.SERVER_CHANGE, OnSeverChangeListener);
             EventAgent.AddEventListener(ConstMessage.LOGIN_SUCCESS, OnLoginSuccess);
+            EventAgent.AddEventListener(ConstMessage.ON_PLATFORM_SDK_INITED, OnPlatformInitet);
             EventAgent.AddEventListener(ConstMessage.ON_PLATFORM_SDK_LOGINED, OnPlatformLogined);
         }
         protected override void OnShown()
@@ -89,10 +90,16 @@ namespace GFGGame
                 return;
             }
 
-            _ui.m_btnTapLogin.visible = QDManager.IsTaptap;
-            _ui.m_btnStart.visible = !QDManager.IsTaptap;
-            //尝试自动登录
-            TryLogin();
+            if (QDManager.isInited)
+            {
+                EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_INITED, true);
+            }
+            else
+            {
+                //初始化平台配置
+                QDManager.InitPlatform();
+            }
+
         }
 
         protected override void OnHide()
@@ -110,6 +117,7 @@ namespace GFGGame
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.SERVER_CHANGE, OnSeverChangeListener);
             EventAgent.RemoveEventListener(ConstMessage.LOGIN_SUCCESS, OnLoginSuccess);
+            EventAgent.RemoveEventListener(ConstMessage.ON_PLATFORM_SDK_INITED, OnPlatformInitet);
             EventAgent.RemoveEventListener(ConstMessage.ON_PLATFORM_SDK_LOGINED, OnPlatformLogined);
         }
 
@@ -127,6 +135,27 @@ namespace GFGGame
             LogServerHelperHttp.SendNodeLog((int)LogNode.ShowSelectServer);
         }
 
+        private void OnPlatformInitet(EventContext context)
+        {
+            ViewManager.Hide<ModalStatusView>();
+            var success = (bool)context.data;
+            Debug.Log($"InitPlatform success {success}");
+            if (success)
+            {
+                QDManager.isInited = true;
+                _ui.m_btnTapLogin.visible = QDManager.IsTaptap;
+                _ui.m_btnStart.visible = !QDManager.IsTaptap;
+                //尝试自动登录
+                TryLogin();
+            }
+            else
+            {
+                AlertSystem.Show("初始化平台sdk失败!")
+                .SetRightButton(true, "重试", (t) => { QDManager.InitPlatform(); });
+            }
+
+        }
+
         private void OnPlatformLogined(EventContext context)
         {
             var account = (string)context.data;