Remove unused InitDelegates() method. Don't mutate the Children list directly.
This commit is contained in:
@@ -141,8 +141,8 @@ namespace OpenRA.Widgets
|
||||
|
||||
Action HideDropDown = () =>
|
||||
{
|
||||
Widget.RootWidget.Children.Remove(fullscreenMask);
|
||||
Widget.RootWidget.Children.Remove(panel);
|
||||
Widget.RootWidget.RemoveChild(fullscreenMask);
|
||||
Widget.RootWidget.RemoveChild(panel);
|
||||
};
|
||||
|
||||
HideDropDown += () => Game.BeforeGameStart -= HideDropDown;
|
||||
|
||||
@@ -39,10 +39,10 @@ namespace OpenRA.Widgets
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void ClearChildren()
|
||||
public override void RemoveChildren()
|
||||
{
|
||||
Children.Clear();
|
||||
ContentHeight = 0;
|
||||
base.RemoveChildren();
|
||||
}
|
||||
|
||||
public override void AddChild(Widget child)
|
||||
|
||||
@@ -28,13 +28,13 @@ namespace OpenRA.Widgets
|
||||
public string Delegate = null;
|
||||
public string EventHandler = null;
|
||||
public bool Visible = true;
|
||||
|
||||
public readonly List<Widget> Children = new List<Widget>();
|
||||
|
||||
// Calculated internally
|
||||
public Rectangle Bounds;
|
||||
public Widget Parent = null;
|
||||
|
||||
static List<string> Delegates = new List<string>();
|
||||
public static Stack<Widget> WindowList = new Stack<Widget>();
|
||||
|
||||
// Common Funcs that most widgets will want
|
||||
@@ -121,22 +121,16 @@ namespace OpenRA.Widgets
|
||||
height);
|
||||
}
|
||||
|
||||
public void PostInit( Dictionary<string, object> args )
|
||||
public void PostInit(Dictionary<string, object> args)
|
||||
{
|
||||
if( Delegate != null )
|
||||
{
|
||||
args[ "widget" ] = this;
|
||||
Game.modData.ObjectCreator.CreateObject<IWidgetDelegate>( Delegate, args );
|
||||
args.Remove( "widget" );
|
||||
args["widget"] = this;
|
||||
Game.modData.ObjectCreator.CreateObject<IWidgetDelegate>(Delegate, args);
|
||||
args.Remove("widget");
|
||||
}
|
||||
}
|
||||
|
||||
public void InitDelegates()
|
||||
{
|
||||
foreach(var d in Delegates)
|
||||
Game.CreateObject<IWidgetDelegate>(d);
|
||||
}
|
||||
|
||||
public virtual Rectangle EventBounds { get { return RenderBounds; } }
|
||||
public virtual Rectangle GetEventBounds()
|
||||
{
|
||||
@@ -290,6 +284,8 @@ namespace OpenRA.Widgets
|
||||
child.Parent = this;
|
||||
Children.Add( child );
|
||||
}
|
||||
public virtual void RemoveChild(Widget child) { Children.Remove(child); }
|
||||
public virtual void RemoveChildren() { Children.Clear(); }
|
||||
|
||||
public Widget GetWidget(string id)
|
||||
{
|
||||
|
||||
@@ -301,7 +301,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
|
||||
{
|
||||
// This causes problems for people who are in the process of editing their names (the widgets vanish from beneath them)
|
||||
// Todo: handle this nicer
|
||||
Players.ClearChildren();
|
||||
Players.RemoveChildren();
|
||||
|
||||
foreach (var slot in orderManager.LobbyInfo.Slots)
|
||||
{
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
|
||||
var template = widget.GetWidget<LabelWidget>("REPLAY_TEMPLATE");
|
||||
CurrentReplay = null;
|
||||
|
||||
rl.ClearChildren();
|
||||
rl.RemoveChildren();
|
||||
foreach (var replayFile in Directory.GetFiles(replayDir, "*.rep").Reverse())
|
||||
AddReplay(rl, replayFile, template);
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
|
||||
|
||||
var sl = bg.GetWidget<ScrollPanelWidget>("SERVER_LIST");
|
||||
|
||||
sl.ClearChildren();
|
||||
sl.RemoveChildren();
|
||||
currentServer = null;
|
||||
|
||||
if (games == null)
|
||||
|
||||
Reference in New Issue
Block a user