diff --git a/MLEM/Formatting/Codes/ImageCode.cs b/MLEM/Formatting/Codes/ImageCode.cs
index dbbfbbc..5a7fe34 100644
--- a/MLEM/Formatting/Codes/ImageCode.cs
+++ b/MLEM/Formatting/Codes/ImageCode.cs
@@ -12,10 +12,12 @@ namespace MLEM.Formatting.Codes {
public class ImageCode : Code {
private readonly SpriteAnimation image;
+ private readonly bool copyTextColor;
///
- public ImageCode(Match match, Regex regex, SpriteAnimation image) : base(match, regex) {
+ public ImageCode(Match match, Regex regex, SpriteAnimation image, bool copyTextColor) : base(match, regex) {
this.image = image;
+ this.copyTextColor = copyTextColor;
}
///
@@ -35,7 +37,8 @@ namespace MLEM.Formatting.Codes {
///
public override void DrawSelf(GameTime time, SpriteBatch batch, Vector2 pos, GenericFont font, Color color, float scale, float depth) {
- batch.Draw(this.image.CurrentRegion, new RectangleF(pos, new Vector2(font.LineHeight * scale)), Color.White.CopyAlpha(color));
+ var actualColor = this.copyTextColor ? color : Color.White.CopyAlpha(color);
+ batch.Draw(this.image.CurrentRegion, new RectangleF(pos, new Vector2(font.LineHeight * scale)), actualColor);
}
}
@@ -51,13 +54,14 @@ namespace MLEM.Formatting.Codes {
/// The formatter to add the code to
/// The name of the formatting code. The regex for this code will be between angle brackets.
/// The image to render at the code's position
- public static void AddImage(this TextFormatter formatter, string name, TextureRegion image) {
- formatter.AddImage(name, new SpriteAnimation(1, image));
+ /// Whether or not the image code should use the text's color instead of White
+ public static void AddImage(this TextFormatter formatter, string name, TextureRegion image, bool copyTextColor = false) {
+ formatter.AddImage(name, new SpriteAnimation(1, image), copyTextColor);
}
- ///
- public static void AddImage(this TextFormatter formatter, string name, SpriteAnimation image) {
- formatter.Codes.Add(new Regex($""), (f, m, r) => new ImageCode(m, r, image));
+ ///
+ public static void AddImage(this TextFormatter formatter, string name, SpriteAnimation image, bool copyTextColor = false) {
+ formatter.Codes.Add(new Regex($""), (f, m, r) => new ImageCode(m, r, image, copyTextColor));
}
}