Offer user quick restart if settings change

Ever been annoyed by those settings in the menu that require a restart? Well I haven't fixed those. But I have added a little dialog to save you some time! That's almost as good right?

![Restart Now?](http://imgur.com/HQJr5fT.png)

Hit the button and the game will be loading again within a second or two.

Doesn't check for mouse-lock in anticipation of #5597 landing.


There aren't many callers, and they all (should!) care about what they pass.

I'd prefer to not dig too deep in the language bag-of-tricks and express
these as  Game.Exit(ExitKind.Normal) or Game.Exit(ExitKind.Restart) rather
than using optional args. I don't think that's too verbose.


On Wed, Jun 18, 2014 at 10:05 AM, Paul Chote <notifications@github.com>
wrote:

> In OpenRA.Mods.RA/Widgets/Logic/MainMenuLogic.cs:
>
> > @@ -68,7 +68,7 @@ public MainMenuLogic(Widget widget, World world)
> >
> >  			mainMenu.Get<ButtonWidget>("EXTRAS_BUTTON").OnClick = () => menuType = MenuType.Extras;
> >
> > -			mainMenu.Get<ButtonWidget>("QUIT_BUTTON").OnClick = Game.Exit;
> > +			mainMenu.Get<ButtonWidget>("QUIT_BUTTON").OnClick = () => Game.Exit();
>
> We will need to sort out how these .NET 4 language features should fit
> into the project code style. I like the idea of using named parameters when
> the purpose of an arg isn't clear from the method name (i.e. Game.Exit(restart:
> false)), but that makes these otherwise simple calls quite (too?) verbose.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/OpenRA/OpenRA/pull/5600/files#r13888881>.
>