public override NSApplicationTerminateReply ApplicationShouldTerminate(NSApplication sender) { if (Engine.Instance.Terminated == false) { if (mainWindowController.ShutdownConfirmed) { return(NSApplicationTerminateReply.Later); } else if (mainWindowController.Shutdown() == false) { return(NSApplicationTerminateReply.Cancel); } else { return(NSApplicationTerminateReply.Later); } } else { return(NSApplicationTerminateReply.Now); } }