This repository has been archived on 2020-08-22. You can view files and clone it, but cannot push or open issues or pull requests.
flutter-unity-view-widget/android/src/main/java/com/rexraphael/flutterunitywidget/UnityView.java

53 lines
1.4 KiB
Java

package com.rexraphael.flutterunitywidget;
import android.content.Context;
import android.content.res.Configuration;
import android.view.InputDevice;
import android.view.MotionEvent;
import android.widget.FrameLayout;
import com.unity3d.player.UnityPlayer;
public class UnityView extends FrameLayout {
private UnityPlayer view;
protected UnityView(Context context) {
super(context);
}
public void setUnityPlayer(UnityPlayer player) {
this.view = player;
UnityUtils.addUnityViewToGroup(this);
}
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
super.onWindowFocusChanged(hasWindowFocus);
if (view != null) {
view.windowFocusChanged(hasWindowFocus);
}
}
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (view != null) {
view.configurationChanged(newConfig);
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
ev.setSource(InputDevice.SOURCE_TOUCHSCREEN);
view.injectEvent(ev);
return super.dispatchTouchEvent(ev);
}
@Override
protected void onDetachedFromWindow() {
// todo: fix more than one unity view, don't add to background.
// UnityUtils.addUnityViewToBackground();
super.onDetachedFromWindow();
}
}