diff --git a/src/DebugUtils/MetaAttributes/MetaColorAttribute.cs b/src/DebugUtils/MetaAttributes/MetaColorAttribute.cs
index 8b33b77..ed74e74 100644
--- a/src/DebugUtils/MetaAttributes/MetaColorAttribute.cs
+++ b/src/DebugUtils/MetaAttributes/MetaColorAttribute.cs
@@ -64,7 +64,7 @@ namespace DCFApixels.DragonECS
{
color = new MetaColor(r, g, b, 255);
}
- public MetaColorAttribute(int colorCode)
+ public MetaColorAttribute(uint colorCode)
{
color = new MetaColor(colorCode, true);
}
@@ -78,57 +78,100 @@ namespace DCFApixels.DragonECS
#region Consts
public static readonly MetaColor BlackColor = new MetaColor(Black);
/// color code Red. RGB is (255, 0, 0)
- public const int Red = (255 << 24) | (000 << 16) | (000 << 8) | 255;
+ public const uint Red = 0x_ff0000_ff;
/// color code Green. RGB is (0, 255, 0)
- public const int Green = (000 << 24) | (255 << 16) | (000 << 8) | 255;
+ public const uint Green = 0x_00ff00_ff;
/// color code Blue. RGB is (0, 0, 255)
- public const int Blue = (000 << 24) | (000 << 16) | (255 << 8) | 255;
-
+ public const uint Blue = 0x_0000ff_ff;
/// color code Yellow. RGB is (255, 255, 0)
- public const int Yellow = (255 << 24) | (255 << 16) | (000 << 8) | 255;
+ public const uint Yellow = 0x_ffff00_ff;
/// color code Cyan. RGB is (0, 255, 255)
- public const int Cyan = (000 << 24) | (255 << 16) | (255 << 8) | 255;
+ public const uint Cyan = 0x_00ffff_ff;
/// color code Magenta. RGB is (255, 0, 255)
- public const int Magenta = (255 << 24) | (000 << 16) | (255 << 8) | 255;
-
- /// color code Orange. RGB is (255, 165, 0)
- public const int Orange = (255 << 24) | (165 << 16) | (000 << 8) | 255;
- /// color code OrangeRed. RGB is (255, 69, 0)
- public const int OrangeRed = (255 << 24) | (69 << 16) | (000 << 8) | 255;
- /// color code Lime. RGB is (125, 255, 0)
- public const int Lime = (125 << 24) | (255 << 16) | (000 << 8) | 255;
- /// color code Aquamarine. RGB is (127, 255, 212)
- public const int Aquamarine = (127 << 24) | (255 << 16) | (212 << 8) | 255;
- /// color code Goldenrod. RGB is (218, 165, 32)
- public const int Goldenrod = (218 << 24) | (165 << 16) | (32 << 8) | 255;
- /// color code DeepPink. RGB is (255, 105, 180)
- public const int DeepPink = (255 << 24) | (105 << 16) | (180 << 8) | 255;
- /// color code Crimson. RGB is (220, 20, 60)
- public const int Crimson = (220 << 24) | (20 << 16) | (60 << 8) | 255;
- /// color code BlueViolet. RGB is (138, 43, 226)
- public const int BlueViolet = (138 << 24) | (43 << 16) | (226 << 8) | 255;
- /// color code AmericanRose. RGB is (255, 3, 62)
- public const int AmericanRose = (255 << 24) | (3 << 16) | (62 << 8) | 255;
-
- /// color code Grey/Gray. RGB is (127, 127, 127)
- public const int Gray = (127 << 24) | (127 << 16) | (127 << 8) | 255;
- /// color code Grey/Gray. RGB is (127, 127, 127)
- public const int Grey = Gray;
- /// color code Silver. RGB is (192, 192, 192)
- public const int Silver = (192 << 24) | (192 << 16) | (192 << 8) | 255;
+ public const uint Magenta = 0x_ff00ff_ff;
/// color code White. RGB is (255, 255, 255)
- public const int White = -1;
+ public const uint White = 0x_ffffff_ff;
/// color code Black. RGB is (0, 0, 0)
- public const int Black = 0;
+ public const uint Black = 0x_000000_ff;
+
+ /// color code OrangeRed. RGB is (255, 69, 0)
+ public const uint OrangeRed = 0x_ff4500_ff;
+ /// color code Orange. RGB is (255, 165, 0)
+ public const uint Orange = 0x_ffa500_ff;
+ /// color code Purple. RGB is (128, 0, 128)
+ public const uint Purple = 0x_800080_ff;
+ /// color code Pink. RGB is (255, 192, 203)
+ public const uint Pink = 0x_ffc0cb_ff;
+ /// color code Brown. RGB is (165, 42, 42)
+ public const uint Brown = 0x_a52a2a_ff;
+ /// color code Grey/Gray. RGB is (128, 128, 128)
+ public const uint Gray = 0x_808080_ff;
+ /// color code Grey/Gray. RGB is (128, 128, 128)
+ public const uint Grey = Gray;
+ /// color code LightGray. RGB is (211, 211, 211)
+ public const uint LightGray = 0x_d3d3d3_ff;
+ /// color code DarkGray. RGB is (64, 64, 64)
+ public const uint DarkGray = 0x_404040_ff;
+ /// color code Lime. RGB is (125, 255, 0)
+ public const uint Lime = 0x_7dff00_ff;
+ /// color code Teal. RGB is (0, 128, 128)
+ public const uint Teal = 0x_008080_ff;
+ /// color code Olive. RGB is (128, 128, 0)
+ public const uint Olive = 0x_808000_ff;
+ /// color code Navy. RGB is (0, 0, 128)
+ public const uint Navy = 0x_000080_ff;
+ /// color code Maroon. RGB is (128, 0, 0)
+ public const uint Maroon = 0x_800000_ff;
+ /// color code Aquamarine. RGB is (127, 255, 212)
+ public const uint Aquamarine = 0x_7fffd4_ff;
+ /// color code Fuchsia. RGB is (255, 0, 255)
+ public const uint Fuchsia = 0x_ff00ff_ff;
+ /// color code Silver. RGB is (192, 192, 192)
+ public const uint Silver = 0x_c0c0c0_ff;
+ /// color code Gold. RGB is (255, 215, 0)
+ public const uint Gold = 0x_ffd700_ff;
+ /// color code Indigo. RGB is (75, 0, 130)
+ public const uint Indigo = 0x_4b0082_ff;
+ /// color code Violet. RGB is (238, 130, 238)
+ public const uint Violet = 0x_ee82ee_ff;
+ /// color code Coral. RGB is (255, 127, 80)
+ public const uint Coral = 0x_ff7f50_ff;
+ /// color code Salmon. RGB is (250, 128, 114)
+ public const uint Salmon = 0x_fa8072_ff;
+ /// color code Turquoise. RGB is (64, 224, 208)
+ public const uint Turquoise = 0x_40e0d0_ff;
+ /// color code SkyBlue. RGB is (135, 206, 235)
+ public const uint SkyBlue = 0x_87ceeb_ff;
+ /// color code Plum. RGB is (221, 160, 221)
+ public const uint Plum = 0x_dda0dd_ff;
+ /// color code Khaki. RGB is (240, 230, 140)
+ public const uint Khaki = 0x_d5c58a_ff;
+ /// color code Beige. RGB is (245, 245, 220)
+ public const uint Beige = 0x_ede8d0_ff;
+ /// color code Lavender. RGB is (230, 230, 250)
+ public const uint Lavender = 0x_e6e6fa_ff;
+
+
+
+ /// color code Goldenrod. RGB is (218, 165, 32)
+ public const uint Goldenrod = 0x_daa520_ff;
+ /// color code DeepPink. RGB is (255, 105, 180)
+ public const uint DeepPink = 0x_ff69b4_ff;
+ /// color code Crimson. RGB is (220, 20, 60)
+ public const uint Crimson = 0x_dc143c_ff;
+ /// color code BlueViolet. RGB is (138, 43, 226)
+ public const uint BlueViolet = 0x_8a2be2_ff;
+ /// color code AmericanRose. RGB is (255, 3, 62)
+ public const uint AmericanRose = 0x_ff033e_ff;
/// RGB is (255, 78, 133) color code
- public const int DragonRose = (255 << 24) | (78 << 16) | (133 << 8) | 255;
+ public const uint DragonRose = 0x_ff4e85_ff;
/// RGB is (0, 255, 156) color code
- public const int DragonCyan = (0 << 24) | (255 << 16) | (156 << 8) | 255;
+ public const uint DragonCyan = 0x_00ff9c_ff;
#endregion
- [FieldOffset(0), NonSerialized] public readonly int colorCode;
+ [FieldOffset(0), NonSerialized] public readonly uint colorCode;
[FieldOffset(3), DataMember] public readonly byte r;
[FieldOffset(2), DataMember] public readonly byte g;
[FieldOffset(1), DataMember] public readonly byte b;
@@ -184,11 +227,11 @@ namespace DCFApixels.DragonECS
this.b = b;
this.a = a;
}
- public MetaColor(int colorCode) : this()
+ public MetaColor(uint colorCode) : this()
{
this.colorCode = colorCode;
}
- public MetaColor(int colorCode, bool withoutAlpha) : this()
+ public MetaColor(uint colorCode, bool withoutAlpha) : this()
{
this.colorCode = withoutAlpha ? colorCode | 255 : colorCode;
}
@@ -200,7 +243,7 @@ namespace DCFApixels.DragonECS
uint colorCode = (uint)stringCode.GetHashCode();
colorCode ^= MAGIC_CONST;
colorCode = BitsUtility.NextXorShiftState(colorCode);
- this.colorCode = (int)colorCode | 255;
+ this.colorCode = (uint)colorCode | 255;
this.colorCode = UpContrast().colorCode;
}
}
@@ -251,7 +294,7 @@ namespace DCFApixels.DragonECS
#region Operators
public static implicit operator MetaColor((byte, byte, byte) a) { return new MetaColor(a.Item1, a.Item2, a.Item3); }
public static implicit operator MetaColor((byte, byte, byte, byte) a) { return new MetaColor(a.Item1, a.Item2, a.Item3, a.Item4); }
- public static implicit operator MetaColor(int a) { return new MetaColor(a); }
+ public static implicit operator MetaColor(uint a) { return new MetaColor(a); }
public static bool operator ==(MetaColor a, MetaColor b) { return a.colorCode == b.colorCode; }
public static bool operator !=(MetaColor a, MetaColor b) { return a.colorCode != b.colorCode; }
@@ -349,7 +392,7 @@ namespace DCFApixels.DragonECS
public override string ToString() { return $"({r}, {g}, {b}, {a})"; }
public bool Equals(MetaColor other) { return colorCode == other.colorCode; }
public override bool Equals(object obj) { return obj is MetaColor other && Equals(other); }
- public override int GetHashCode() { return colorCode; }
+ public override int GetHashCode() { return unchecked((int)colorCode); }
#endregion
}
}
\ No newline at end of file