Gestion des demandes de quitter l'application

Quitter

La plupart des plateformes ont la possibilité de demander de quitter l'application. Sur les ordinateurs de bureau, cela se fait généralement à l'aide de l'icône "x" dans la barre de titre de la fenêtre. Sur Android, le bouton retour est utilisé pour quitter l'application lorsqu'elle est sur l'écran principal (et pour revenir en arrière dans le cas contraire).

Traitement de la notification

Sur les plates-formes de bureau, le MainLoop a une notification spéciale MainLoop.NOTIFICATION_WM_QUIT_REQUEST qui est envoyée à tous les nœuds lorsqu'il est demandé de quitter.

Sur Android, MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST est envoyé à la place. En appuyant sur le bouton Retour, vous quitterez l'application si Application > Config > Quitter On Go Back est coché dans les paramètres du projet (qui est la valeur par défaut).

Note

MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST n'est pas supporté sur iOS, car les périphériques iOS n'ont pas de bouton Back physique.

Le traitement de la notification se fait comme suit (sur n'importe quel nœud) :

func _notification(what):
    if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST:
        get_tree().quit() # default behavior
public override void _Notification(int what)
{
    if (what == MainLoop.NotificationWmQuitRequest)
        GetTree().Quit(); // default behavior
}

Lors du développement d'applications mobiles, il n'est pas souhaitable de quitter à moins que l'utilisateur se trouve sur l'écran principal, ce qui permet de modifier le comportement.

Il est important de noter que par défaut, les applications Godot ont le comportement intégré pour quitter lorsque quitter est demandé, cela peut être changé :

get_tree().set_auto_accept_quit(false)
GetTree().SetAutoAcceptQuit(false);