refactoring Widget

This commit is contained in:
Bob
2010-05-25 11:44:57 +12:00
parent ac10ca3fad
commit 8285c7d158
16 changed files with 30 additions and 76 deletions

View File

@@ -166,12 +166,17 @@ namespace OpenRA.Widgets
throw new InvalidOperationException("Impossible");
}
public abstract void DrawInner( World world );
public virtual void Draw(World world)
public void Draw(World world)
{
if (IsVisible())
{
DrawInner( world );
foreach (var child in Children)
child.Draw(world);
}
}
public virtual void Tick(World world)
@@ -229,6 +234,8 @@ namespace OpenRA.Widgets
public ContainerWidget(Widget other) : base(other) { }
public override void DrawInner( World world ) { }
public override Widget Clone() { return new ContainerWidget(this); }
}
public interface IWidgetDelegate { }