Add SeHyphenPayload

This commit is contained in:
Cara 2021-01-14 08:33:36 +10:30
parent 0b4a7d2755
commit e78dc692be
3 changed files with 37 additions and 1 deletions

View file

@ -130,6 +130,10 @@ namespace Dalamud.Game.Chat.SeStringHandling
payload = new EmphasisItalicPayload();
break;
case SeStringChunkType.SeHyphen:
payload = SeHyphenPayload.Payload;
break;
case SeStringChunkType.Interactable:
{
var subType = (EmbeddedInfoType)reader.ReadByte();
@ -222,6 +226,7 @@ namespace Dalamud.Game.Chat.SeStringHandling
{
Icon = 0x12,
EmphasisItalic = 0x1A,
SeHyphen = 0x1F,
Interactable = 0x27,
AutoTranslateKey = 0x2E,
UIForeground = 0x48,

View file

@ -57,6 +57,7 @@ namespace Dalamud.Game.Chat.SeStringHandling
/// <summary>
/// An SeString payload representing any data we don't handle.
/// </summary>
Unknown
Unknown,
SeHyphen,
}
}

View file

@ -0,0 +1,30 @@
using System.IO;
namespace Dalamud.Game.Chat.SeStringHandling.Payloads {
/// <summary>
/// A wrapped ''
/// </summary>
public class SeHyphenPayload : Payload, ITextProvider {
/// <summary>
/// Instance of SeHyphenPayload
/// </summary>
public static SeHyphenPayload Payload => new SeHyphenPayload();
/// <inheritdoc />
public override PayloadType Type => PayloadType.SeHyphen;
private readonly byte[] bytes = {START_BYTE, (byte) SeStringChunkType.SeHyphen, 0x01, END_BYTE};
/// <inheritdoc />
protected override byte[] EncodeImpl() => this.bytes;
/// <inheritdoc />
protected override void DecodeImpl(BinaryReader reader, long endOfStream) { }
/// <summary>
/// Just a ''
/// </summary>
public string Text => "";
}
}