1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-05-29 03:23:37 +02:00
MLEM/MLEM/Formatting/Codes/Code.cs

48 lines
1.4 KiB
C#
Raw Normal View History

2020-05-15 00:34:04 +02:00
using System.Text.RegularExpressions;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using MLEM.Font;
using MLEM.Misc;
2020-05-15 00:34:04 +02:00
namespace MLEM.Formatting.Codes {
public class Code : GenericDataHolder {
2020-05-15 00:34:04 +02:00
2020-05-15 19:55:59 +02:00
public readonly Regex Regex;
2020-05-15 00:34:04 +02:00
public readonly Match Match;
public Token Token { get; internal set; }
2020-05-15 19:55:59 +02:00
protected Code(Match match, Regex regex) {
2020-05-15 00:34:04 +02:00
this.Match = match;
2020-05-15 19:55:59 +02:00
this.Regex = regex;
2020-05-15 00:34:04 +02:00
}
public virtual bool EndsHere(Code other) {
return other.GetType() == this.GetType();
}
public virtual Color? GetColor(Color defaultPick) {
2020-05-15 00:34:04 +02:00
return null;
}
public virtual GenericFont GetFont(GenericFont defaultPick) {
2020-05-15 00:34:04 +02:00
return null;
}
public virtual void Update(GameTime time) {
}
2020-05-15 19:55:59 +02:00
public virtual string GetReplacementString(GenericFont font) {
return string.Empty;
}
public virtual bool DrawCharacter(GameTime time, SpriteBatch batch, char c, string cString, int indexInToken, ref Vector2 pos, GenericFont font, ref Color color, ref float scale, float depth) {
2020-05-15 00:34:04 +02:00
return false;
}
2020-05-15 19:55:59 +02:00
public virtual void DrawSelf(GameTime time, SpriteBatch batch, Vector2 pos, GenericFont font, Color color, float scale, float depth) {
}
public delegate Code Constructor(TextFormatter formatter, Match match, Regex regex);
2020-05-15 00:34:04 +02:00
}
}