Extract ExitMapEditor in IngameMenuLogic

This commit is contained in:
Gustas
2022-09-09 16:12:06 +03:00
committed by Matthias Mailänder
parent 5cc59ae3ac
commit 0e5ed6a30c

View File

@@ -484,10 +484,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
return; return;
var actionManager = world.WorldActor.Trait<EditorActionManager>(); var actionManager = world.WorldActor.Trait<EditorActionManager>();
var button = AddButton("EXIT_EDITOR", ExitMapButton); AddButton("EXIT_EDITOR", ExitMapButton)
.OnClick = () => ExitEditor(actionManager, () => OnQuit(world));
}
// Show dialog only if updated since last save void ExitEditor(EditorActionManager actionManager, Action onSuccess)
button.OnClick = () =>
{ {
var map = modData.MapCache.GetUpdatedMap(world.Map.Uid); var map = modData.MapCache.GetUpdatedMap(world.Map.Uid);
var deletedOrUnavailable = map == null || modData.MapCache[map].Status != MapStatus.Available; var deletedOrUnavailable = map == null || modData.MapCache[map].Status != MapStatus.Available;
@@ -498,15 +499,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic
title: ExitMapEditorTitle, title: ExitMapEditorTitle,
text: deletedOrUnavailable ? ExitMapEditorPromptDeleted : ExitMapEditorPromptUnsaved, text: deletedOrUnavailable ? ExitMapEditorPromptDeleted : ExitMapEditorPromptUnsaved,
confirmText: deletedOrUnavailable ? ExitMapEditorAnywayConfirm : ExitMapEditorConfirm, confirmText: deletedOrUnavailable ? ExitMapEditorAnywayConfirm : ExitMapEditorConfirm,
onConfirm: () => { OnQuit(world); leaving = true; }, onConfirm: () => { onSuccess(); leaving = true; },
onCancel: ShowMenu); onCancel: ShowMenu);
} }
else else
{ {
OnQuit(world); onSuccess();
leaving = true; leaving = true;
} }
};
} }
} }
} }