package com.secondworld.sdk;
|
|
import android.content.Intent;
|
import android.os.Bundle;
|
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;
|
|
//注册代理类
|
public static void registerProxy(Class<? extends GameActivityProxy> proxyClass) {
|
GameActivity.proxyClass = proxyClass;
|
}
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
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);
|
}
|
}
|
|
@Override
|
protected void onStart() {
|
super.onStart();
|
if (proxy != null)
|
proxy.onStart();
|
}
|
|
@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();
|
}
|
|
|
}
|