diff --git a/OpenRA.Game/Widgets/ColorBlockWidget.cs b/OpenRA.Game/Widgets/ColorBlockWidget.cs index 3e2d871789..8f2a63d85e 100644 --- a/OpenRA.Game/Widgets/ColorBlockWidget.cs +++ b/OpenRA.Game/Widgets/ColorBlockWidget.cs @@ -25,19 +25,17 @@ namespace OpenRA.Widgets { class ColorBlockWidget : Widget { - public int PaletteIndex = 0; public Func GetPaletteIndex; public ColorBlockWidget() : base() { - GetPaletteIndex = () => { return PaletteIndex; }; + GetPaletteIndex = () => 0; } public ColorBlockWidget(Widget widget) :base(widget) { - PaletteIndex = (widget as ColorBlockWidget).PaletteIndex; GetPaletteIndex = (widget as ColorBlockWidget).GetPaletteIndex; } diff --git a/OpenRA.Game/Widgets/Widget.cs b/OpenRA.Game/Widgets/Widget.cs index cd511331c6..0300ecc7d9 100644 --- a/OpenRA.Game/Widgets/Widget.cs +++ b/OpenRA.Game/Widgets/Widget.cs @@ -82,9 +82,15 @@ namespace OpenRA.Widgets public int2 DrawPosition() { - return new int2(Bounds.X, Bounds.Y) + ((Parent == null) ? int2.Zero : Parent.DrawPosition()); + return new int2(Bounds.X, Bounds.Y) + ParentPosition(); } + public int2 ParentPosition() + { + return (Parent == null) ? int2.Zero : Parent.DrawPosition(); + } + + public virtual void Initialize() { // Parse the YAML equations to find the widget bounds diff --git a/mods/ra/menus.yaml b/mods/ra/menus.yaml index 46a9ed3252..93b2067ef1 100644 --- a/mods/ra/menus.yaml +++ b/mods/ra/menus.yaml @@ -323,7 +323,6 @@ Container: Y:7 Width:PARENT_RIGHT-10 Height:PARENT_BOTTOM-12 - PaletteIndex:0 Button@FACTION: Id:FACTION Text:Faction @@ -372,7 +371,6 @@ Container: Y:7 Width:55 Height:13 - PaletteIndex:0 Label@FACTION: Id:FACTION Text:Faction