Change Color.ToAhsv to tuple syntax.

This commit is contained in:
Paul Chote
2021-04-12 18:34:33 +01:00
committed by teinarss
parent 96e333a30e
commit 57d955ec72
5 changed files with 9 additions and 13 deletions

View File

@@ -49,10 +49,10 @@ namespace OpenRA.Primitives
return FromAhsv(255, h, s, v);
}
public void ToAhsv(out int a, out float h, out float s, out float v)
public (float A, float H, float S, float V) ToAhsv()
{
a = A;
(h, s, v) = RgbToHsv(R, G, B);
var (h, s, v) = RgbToHsv(R, G, B);
return (A, h, s, v);
}
Color(long argb)

View File

@@ -46,7 +46,7 @@ namespace OpenRA.Traits
public void LoadPlayerPalettes(WorldRenderer wr, string playerName, Color color, bool replaceExisting)
{
color.ToAhsv(out _, out var h, out var s, out _);
var (_, h, s, _) = color.ToAhsv();
var remap = new PlayerColorRemap(info.RemapIndex, h, s);
var pal = new ImmutablePalette(wr.Palette(info.BasePalette).Palette, remap);

View File

@@ -48,7 +48,7 @@ namespace OpenRA.Traits
public void LoadPalettes(WorldRenderer wr)
{
info.Color.ToAhsv(out _, out var h, out var s, out _);
var (_, h, s, _) = info.Color.ToAhsv();
var remap = new PlayerColorRemap(info.RemapIndex, h, s);
wr.AddPalette(info.Name, new ImmutablePalette(wr.Palette(info.Base).Palette, remap), info.AllowModifiers);

View File

@@ -71,8 +71,7 @@ namespace OpenRA.Mods.Common.Traits
{
Color = color;
Color.ToAhsv(out _, out var h, out var s, out _);
var (_, h, s, _) = Color.ToAhsv();
var newPalette = new MutablePalette(worldRenderer.Palette(PaletteName).Palette);
newPalette.ApplyRemap(new PlayerColorRemap(RemapIndices, h, s));
worldRenderer.ReplacePalette(PaletteName, newPalette);
@@ -141,7 +140,7 @@ namespace OpenRA.Mods.Common.Traits
public Color MakeValid(Color color, MersenneTwister random, IEnumerable<Color> terrainColors, IEnumerable<Color> playerColors, Action<string> onError = null)
{
color.ToAhsv(out _, out var h, out var s, out _);
var (_, h, s, _) = color.ToAhsv();
return MakeValid(h, s, random, terrainColors, playerColors, onError);
}
@@ -181,10 +180,7 @@ namespace OpenRA.Mods.Common.Traits
// until we either find a suitable color or loop back to where we started.
// This is a simple way to avoid being trapped between two blocking colors.
if (stepSign == 0)
{
Color.FromLinear(255, blocker.R, blocker.G, blocker.B).ToAhsv(out _, out var blockerHue, out _, out _);
stepSign = blockerHue > hue ? -1 : 1;
}
stepSign = Color.FromLinear(255, blocker.R, blocker.G, blocker.B).ToAhsv().H > hue ? -1 : 1;
hue += stepSign * 0.01f;
}

View File

@@ -149,7 +149,7 @@ namespace OpenRA.Mods.Common.Widgets
/// </summary>
public void Set(Color color)
{
color.ToAhsv(out _, out var h, out var s, out _);
var (_, h, s, _) = color.ToAhsv();
if (H != h || S != s)
{