mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
49 lines
1.1 KiB
C#
49 lines
1.1 KiB
C#
using AssetRipper.Numerics;
|
|
using AssetRipper.SourceGenerated.Subclasses.ColorRGBA32;
|
|
|
|
namespace AssetRipper.SourceGenerated.Extensions;
|
|
|
|
public static class ColorRGBA32Extensions
|
|
{
|
|
extension(ColorRGBA32 color)
|
|
{
|
|
public void SetValues(byte r, byte g, byte b, byte a)
|
|
{
|
|
color.Rgba = unchecked((uint)(r | g << 8 | b << 16 | a << 24));
|
|
}
|
|
|
|
public void SetAsBlack() => color.SetValues(byte.MinValue, byte.MinValue, byte.MinValue, byte.MaxValue);
|
|
|
|
public void SetAsWhite() => color.SetValues(uint.MaxValue);
|
|
|
|
public byte R
|
|
{
|
|
get => unchecked((byte)color.Rgba);
|
|
set => color.SetValues(value, color.G, color.B, color.A);
|
|
}
|
|
|
|
public byte G
|
|
{
|
|
get => unchecked((byte)(color.Rgba >> 8));
|
|
set => color.SetValues(color.R, value, color.B, color.A);
|
|
}
|
|
|
|
public byte B
|
|
{
|
|
get => unchecked((byte)(color.Rgba >> 16));
|
|
set => color.SetValues(color.R, color.G, value, color.A);
|
|
}
|
|
|
|
public byte A
|
|
{
|
|
get => unchecked((byte)(color.Rgba >> 24));
|
|
set => color.SetValues(color.R, color.G, color.B, value);
|
|
}
|
|
|
|
public ColorFloat ToColorFloat()
|
|
{
|
|
return (ColorFloat)Color32.FromRgba(color.Rgba);
|
|
}
|
|
}
|
|
}
|