Clean up custom color palette
This commit is contained in:
@@ -37,7 +37,7 @@ namespace OpenRA
|
||||
|
||||
public static World world;
|
||||
public static Viewport viewport;
|
||||
internal static UserSettings Settings;
|
||||
public static UserSettings Settings;
|
||||
|
||||
internal static OrderManager orderManager;
|
||||
|
||||
|
||||
@@ -52,16 +52,10 @@ namespace OpenRA.Graphics
|
||||
|
||||
public void AddPalette(string name, Palette p)
|
||||
{
|
||||
Console.WriteLine("Adding palette "+name);
|
||||
palettes.Add(name, p);
|
||||
indices.Add(name, allocated++);
|
||||
}
|
||||
|
||||
public void UpdatePalette(string name, Palette p)
|
||||
{
|
||||
palettes[name] = p;
|
||||
}
|
||||
|
||||
public void Update(IEnumerable<IPaletteModifier> paletteMods)
|
||||
{
|
||||
var copy = palettes.ToDictionary(p => p.Key, p => new Palette(p.Value));
|
||||
|
||||
@@ -36,7 +36,6 @@ namespace OpenRA.Graphics
|
||||
public int GetPaletteIndex(string name) { return palette.GetPaletteIndex(name); }
|
||||
public Palette GetPalette(string name) { return palette.GetPalette(name); }
|
||||
public void AddPalette(string name, Palette pal) { palette.AddPalette(name, pal); }
|
||||
public void UpdatePalette(string name, Palette pal) { palette.UpdatePalette(name, pal); }
|
||||
|
||||
class SpriteComparer : IComparer<Renderable>
|
||||
{
|
||||
|
||||
@@ -20,18 +20,21 @@ namespace OpenRA.Widgets.Delegates
|
||||
public class LobbyDelegate : IWidgetDelegate
|
||||
{
|
||||
Widget Players, LocalPlayerTemplate, RemotePlayerTemplate;
|
||||
|
||||
|
||||
Dictionary<string, string> CountryNames;
|
||||
|
||||
string MapUid;
|
||||
MapStub Map;
|
||||
|
||||
bool SplitPlayerPalette = false;
|
||||
Palette BasePlayerPalette = null;
|
||||
|
||||
public static Color CurrentColorPreview1;
|
||||
public static Color CurrentColorPreview2;
|
||||
|
||||
public LobbyDelegate()
|
||||
{
|
||||
Game.LobbyInfoChanged += UpdateCurrentMap;
|
||||
UpdateCurrentMap();
|
||||
|
||||
CurrentColorPreview1 = Game.Settings.PlayerColor1;
|
||||
CurrentColorPreview2 = Game.Settings.PlayerColor2;
|
||||
|
||||
var r = Widget.RootWidget;
|
||||
var lobby = r.GetWidget("SERVER_LOBBY");
|
||||
@@ -151,13 +154,7 @@ namespace OpenRA.Widgets.Delegates
|
||||
UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||
UpdatePlayerColor(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||
return true;
|
||||
};
|
||||
|
||||
// Copy the base palette for the colorpicker
|
||||
var info = Rules.Info["world"].Traits.Get<PlayerColorPaletteInfo>();
|
||||
BasePlayerPalette = Game.world.WorldRenderer.GetPalette(info.BasePalette);
|
||||
SplitPlayerPalette = info.SplitRamp;
|
||||
Game.world.WorldRenderer.AddPalette("colorpicker",BasePlayerPalette);
|
||||
};
|
||||
}
|
||||
|
||||
void UpdatePlayerColor(float hf, float sf, float lf, float r)
|
||||
@@ -173,9 +170,8 @@ namespace OpenRA.Widgets.Delegates
|
||||
|
||||
void UpdateColorPreview(float hf, float sf, float lf, float r)
|
||||
{
|
||||
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)));
|
||||
CurrentColorPreview1 = ColorFromHSL(hf, sf, lf);
|
||||
CurrentColorPreview2 = ColorFromHSL(hf, sf, r*lf);
|
||||
Game.viewport.RefreshPalette();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user