You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
export onBackPress for Android Module
This commit is contained in:
@@ -191,6 +191,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
|
|||||||
protected void onMainPause() {}
|
protected void onMainPause() {}
|
||||||
protected void onMainResume() {}
|
protected void onMainResume() {}
|
||||||
protected void onMainDestroy() {}
|
protected void onMainDestroy() {}
|
||||||
|
protected boolean onMainBackPressed() { return false; }
|
||||||
|
|
||||||
protected void onGLDrawFrame(GL10 gl) {}
|
protected void onGLDrawFrame(GL10 gl) {}
|
||||||
protected void onGLSurfaceChanged(GL10 gl, int width, int height) {} // singletons will always miss first onGLSurfaceChanged call
|
protected void onGLSurfaceChanged(GL10 gl, int width, int height) {} // singletons will always miss first onGLSurfaceChanged call
|
||||||
@@ -767,9 +768,16 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@Override public void onBackPressed() {
|
@Override public void onBackPressed() {
|
||||||
|
boolean shouldQuit = true;
|
||||||
|
|
||||||
|
for(int i=0;i<singleton_count;i++) {
|
||||||
|
if (singletons[i].onMainBackPressed()) {
|
||||||
|
shouldQuit = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
System.out.printf("** BACK REQUEST!\n");
|
System.out.printf("** BACK REQUEST!\n");
|
||||||
if (mView != null) {
|
if (shouldQuit && mView != null) {
|
||||||
mView.queueEvent(new Runnable() {
|
mView.queueEvent(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|||||||
@@ -285,13 +285,7 @@ public class GodotView extends GLSurfaceView implements InputDeviceListener {
|
|||||||
@Override public boolean onKeyDown(final int keyCode, KeyEvent event) {
|
@Override public boolean onKeyDown(final int keyCode, KeyEvent event) {
|
||||||
|
|
||||||
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
||||||
queueEvent(new Runnable() {
|
activity.onBackPressed();
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
GodotLib.back();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// press 'back' button should not terminate program
|
// press 'back' button should not terminate program
|
||||||
//normal handle 'back' event in game logic
|
//normal handle 'back' event in game logic
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user