Application.CancelQuit
static function CancelQuit(): void;
static void CancelQuit();
static def CancelQuit() as void
Description

Cancels quitting the application. This is useful for showing a splash screen at the end of a game.

This function only works in the player and does nothing in the web player or editor. IMPORTANT: This function has no effect on iPhone. Application can not prevent termination under iPhone OS.
	// Delays quitting for 2 seconds and
	// loads the finalsplash level during that time.

var showSplashTimeout : float = 2.0; private var allowQuitting : boolean = false;

function Awake () { // This game object needs to survive multiple levels DontDestroyOnLoad (this); }

function OnApplicationQuit () { // If we haven't already load up the final splash screen level if (Application.loadedLevelName.ToLower() != "finalsplash") StartCoroutine("DelayedQuit");

// Don't allow the user to exit until we got permission in if (!allowQuitting) Application.CancelQuit(); }

function DelayedQuit () { Application.LoadLevel("finalsplash");

// Wait for showSplashTimeout yield WaitForSeconds(showSplashTimeout);

// then quit for real allowQuitting = true; Application.Quit(); }
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public float showSplashTimeout = 2.0F;
    private bool allowQuitting = false;
    void Awake() {
        DontDestroyOnLoad();
    }
    void OnApplicationQuit() {
        if (Application.loadedLevelName.ToLower() != "finalsplash")
            StartCoroutine("DelayedQuit");
        
        if (!allowQuitting)
            Application.CancelQuit();
        
    }
    IEnumerator DelayedQuit() {
        Application.LoadLevel("finalsplash");
        yield return new WaitForSeconds(showSplashTimeout);
        allowQuitting = true;
        Application.Quit();
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	public showSplashTimeout as float = 2.0F

	private allowQuitting as bool = false

	def Awake() as void:
		DontDestroyOnLoad(self)

	def OnApplicationQuit() as void:
		if Application.loadedLevelName.ToLower() != 'finalsplash':
			StartCoroutine('DelayedQuit')
		if not allowQuitting:
			Application.CancelQuit()

	def DelayedQuit() as IEnumerator:
		Application.LoadLevel('finalsplash')
		yield WaitForSeconds(showSplashTimeout)
		allowQuitting = true
		Application.Quit()