Add a hook for widgets being removed, and ensure widgets are removed consistently.
This commit is contained in:
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
public void StartGame()
|
||||
{
|
||||
Widget.RootWidget.RemoveChildren();
|
||||
Widget.ResetAll();
|
||||
Game.modData.WidgetLoader.LoadWidget( new WidgetArgs(), Widget.RootWidget, "INIT_SETUP" );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA
|
||||
public void WorldLoaded(World world)
|
||||
{
|
||||
// Remove all open widgets
|
||||
Widget.RootWidget.Children.Clear();
|
||||
Widget.ResetAll();
|
||||
|
||||
if (world.LocalPlayer != null)
|
||||
Game.OpenWindow(world, Info.Widget);
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
public void StartGame()
|
||||
{
|
||||
Widget.RootWidget.RemoveChildren();
|
||||
Widget.ResetAll();
|
||||
Game.modData.WidgetLoader.LoadWidget( new WidgetArgs(), Widget.RootWidget, "INIT_SETUP" );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
// This is shit
|
||||
void LayoutDialog(Widget bg)
|
||||
{
|
||||
bg.Children.RemoveAll(w => controls.Contains(w));
|
||||
foreach (var c in controls)
|
||||
bg.RemoveChild(c);
|
||||
controls.Clear();
|
||||
|
||||
var y = 50;
|
||||
|
||||
@@ -68,7 +68,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
Game.LoadShellMap();
|
||||
if (Info.InstallMode != "cnc")
|
||||
{
|
||||
Widget.RootWidget.RemoveChildren();
|
||||
Widget.ResetAll();
|
||||
Widget.OpenWindow("MAINMENU_BG");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user