From 352babe80b284339d9b5cc6739fe9ce723c61a39 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 29 四月 2025 16:36:33 +0800
Subject: [PATCH] 0312 越南新官网包

---
 SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java |  133 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 124 insertions(+), 9 deletions(-)

diff --git a/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java b/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java
index 669f692..a1ac193 100644
--- a/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java
+++ b/SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java
@@ -1,26 +1,141 @@
 package com.secondworld.sdk;
 
+import android.content.Intent;
 import android.os.Bundle;
-import android.view.View;
+import android.view.KeyEvent;
 import android.widget.FrameLayout;
+import android.widget.RelativeLayout;
+
+
+import com.secondworld.sdk.utils.LogUtil;
+import com.secondworld.sdk.utils.WebViewUtil;
 
 public class GameActivity extends UnityPlayerActivity {
+
+    private static Class<? extends GameActivityProxy> proxyClass;
+
+    private GameActivityProxy proxy;
+
+    private RelativeLayout webContainer;
+    private FrameLayout unityContainer;
+
+    //娉ㄥ唽浠g悊绫�
+    public static void registerProxy(Class<? extends GameActivityProxy> proxyClass) {
+        GameActivity.proxyClass = proxyClass;
+    }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-//        setContentView(R.layout.activity_main);
-        checkPermission();
-//        addUnityView();
+        LogUtil.d("GameActivity", "鍚姩鐨勬槸GameActivity锛�");
+        setContentView(R.layout.activity_main);
+        webContainer = findViewById(R.id.webContainer);
+        unityContainer = findViewById(R.id.unityContainer);
+        unityContainer.addView(mUnityPlayer);
+        WebViewUtil.I.init(this, webContainer);
+        //鍒濆鍖栨笭閬撲唬鐞嗙被
+        try {
+            if (proxyClass != null) {
+                proxy = proxyClass.newInstance();
+                proxy.onCreate(this);
+            } else
+                LogUtil.w("GameActivity", "proxyClass 涓嶅瓨鍦�");
+        } catch (IllegalAccessException | InstantiationException e) {
+            e.printStackTrace();
+            LogUtil.e("GameActivity", e);
+        }
     }
 
-    private void checkPermission() {
+    @Override
+    protected void onStart() {
+        super.onStart();
+        if (proxy != null)
+            proxy.onStart();
     }
 
-    protected void addUnityView() {
-        FrameLayout _frameLayout = findViewById(R.id.unity_view);
-        View unityView = mUnityPlayer.getView();
-        _frameLayout.addView(unityView);
+    @Override
+    protected void onRestart() {
+        super.onRestart();
+        if (proxy != null)
+            proxy.onRestart();
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (proxy != null)
+            proxy.onResume();
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        if (proxy != null)
+            proxy.onPause();
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        if (proxy != null)
+            proxy.onStop();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        if (proxy != null)
+            proxy.onDestroy();
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        if (proxy != null)
+            proxy.onNewIntent(intent);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (proxy != null)
+            proxy.onActivityResult(requestCode, resultCode, data);
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (proxy != null)
+            proxy.onRequestPermissionsResult(requestCode, permissions, grantResults);
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (proxy == null)
+            return super.onKeyDown(keyCode, event);
+        boolean b = proxy.onKeyDown(keyCode, event);
+        return b ? b : super.onKeyDown(keyCode, event);
+    }
+
+
+
+    @Override
+    public void onWindowFocusChanged(boolean hasFocus)
+    {
+        super.onWindowFocusChanged(hasFocus);
+        MySdkMgr.manger.onWindowFocusChanged(hasFocus, GTGameMain.I.activity);
+    }
+
+    @Override
+    public void onAttachedToWindow()
+    {
+        super.onAttachedToWindow();
+        MySdkMgr.manger.onAttachedToWindow();
+    }
+
+    @Override
+    public void onDetachedFromWindow() {
+        super.onDetachedFromWindow();
+        MySdkMgr.manger.onDetachedFromWindow();
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0