From 4328fbc350543e9f61b2ccde73adbaed2bba2d79 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Thu, 12 Aug 2010 19:35:32 +1200 Subject: [PATCH] fix color picker again --- OpenRA.Game/Graphics/Viewport.cs | 10 +++++++--- OpenRA.Game/Widgets/Delegates/LobbyDelegate.cs | 6 ++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/OpenRA.Game/Graphics/Viewport.cs b/OpenRA.Game/Graphics/Viewport.cs index 1070638c1e..ca484f47bf 100644 --- a/OpenRA.Game/Graphics/Viewport.cs +++ b/OpenRA.Game/Graphics/Viewport.cs @@ -73,12 +73,16 @@ namespace OpenRA.Graphics Timer.Time( "endFrame: {0}" ); } + public void RefreshPalette() + { + Game.world.WorldRenderer.palette.Update( + Game.world.WorldActor.traits.WithInterface()); + } + public void Tick() { cursorFrame += 0.5f; - - Game.world.WorldRenderer.palette.Update( - Game.world.WorldActor.traits.WithInterface()); + RefreshPalette(); } public float2 ViewToWorld(int2 loc) diff --git a/OpenRA.Game/Widgets/Delegates/LobbyDelegate.cs b/OpenRA.Game/Widgets/Delegates/LobbyDelegate.cs index c71b03fd1a..fdeee84d9d 100644 --- a/OpenRA.Game/Widgets/Delegates/LobbyDelegate.cs +++ b/OpenRA.Game/Widgets/Delegates/LobbyDelegate.cs @@ -147,7 +147,8 @@ namespace OpenRA.Widgets.Delegates colorChooser.GetWidget("BUTTON_OK").OnMouseUp = mi => { - colorChooser.IsVisible = () => false; + colorChooser.IsVisible = () => false; + UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset()); UpdatePlayerColor(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset()); return true; }; @@ -174,7 +175,8 @@ namespace OpenRA.Widgets.Delegates { var c1 = ColorFromHSL(hf, sf, lf); var c2 = ColorFromHSL(hf, sf, r*lf); - Game.world.WorldRenderer.UpdatePalette("colorpicker", new Palette(BasePlayerPalette, new PlayerColorRemap(c1, c2, SplitPlayerPalette))); + Game.world.WorldRenderer.UpdatePalette("colorpicker", new Palette(BasePlayerPalette, new PlayerColorRemap(c1, c2, SplitPlayerPalette))); + Game.viewport.RefreshPalette(); } // hk is hue in the range [0,1] instead of [0,360]