7d5496e959
81 namespace declarations and 100 using directives converted via sed, plus two FQN-aliases (ChatTwoPartyFinderPayload in PayloadHandler.cs and ModifierFlag in KeybindManager.cs) updated. Critical: Language.Designer.cs and HellionStrings.Designer.cs ResourceManager string arguments updated synchronously — these are runtime reflection lookups not caught by the C# compiler. Two intentional ChatTwo references remain: the legacy migration path 'ChatTwo.json' in Plugin.cs (still points to upstream Chat 2's config file by design) and the InternalsVisibleTo declaration in AssemblyInfo.cs (handled in the upcoming repo-folder rename task). The local alias names 'ChatTwoPartyFinderPayload' and 'ChatTwoConflictDetector' are preserved as local symbols; only their target namespaces and references changed.
112 lines
2.7 KiB
C#
Executable File
112 lines
2.7 KiB
C#
Executable File
using Dalamud.Game.Text.SeStringHandling;
|
|
|
|
namespace HellionChat.Util;
|
|
|
|
internal class PartyFinderPayload : Payload
|
|
{
|
|
public override PayloadType Type => (PayloadType) 0x50;
|
|
|
|
internal uint Id { get; }
|
|
|
|
internal PartyFinderPayload(uint id)
|
|
{
|
|
Id = id;
|
|
}
|
|
|
|
protected override byte[] EncodeImpl()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
protected override void DecodeImpl(BinaryReader reader, long endOfStream)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
internal class AchievementPayload : Payload
|
|
{
|
|
public override PayloadType Type => (PayloadType) 0x51;
|
|
|
|
internal uint Id { get; }
|
|
|
|
internal AchievementPayload(uint id)
|
|
{
|
|
Id = id;
|
|
}
|
|
|
|
protected override byte[] EncodeImpl()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
protected override void DecodeImpl(BinaryReader reader, long endOfStream)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
|
|
internal class UriPayload(Uri uri) : Payload
|
|
{
|
|
public override PayloadType Type => (PayloadType) 0x52;
|
|
|
|
public Uri Uri { get; } = uri;
|
|
|
|
private const string DefaultScheme = "https";
|
|
private static readonly string[] ExpectedSchemes = ["http", "https"];
|
|
|
|
/// <summary>
|
|
/// Create a URIPayload from a raw URI string. If the URI does not have a
|
|
/// scheme, it will default to https://.
|
|
/// </summary>
|
|
/// <exception cref="UriFormatException">
|
|
/// If the URI is invalid, or if the scheme is not supported.
|
|
/// </exception>
|
|
public static UriPayload ResolveUri(string rawUri)
|
|
{
|
|
ArgumentNullException.ThrowIfNull(rawUri);
|
|
|
|
// Check for an expected scheme '://', if not add 'https://'
|
|
if (ExpectedSchemes.Any(scheme => rawUri.StartsWith($"{scheme}://")))
|
|
return new UriPayload(new Uri(rawUri));
|
|
|
|
if (rawUri.Contains("://"))
|
|
throw new UriFormatException($"Unsupported scheme in URL: {rawUri}");
|
|
|
|
return new UriPayload(new Uri($"{DefaultScheme}://{rawUri}"));
|
|
}
|
|
|
|
protected override void DecodeImpl(BinaryReader reader, long endOfStream)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
protected override byte[] EncodeImpl()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
internal class EmotePayload : Payload
|
|
{
|
|
public override PayloadType Type => (PayloadType) 0x53;
|
|
|
|
public string Code = string.Empty;
|
|
|
|
public static EmotePayload ResolveEmote(string code)
|
|
{
|
|
return new EmotePayload { Code = code };
|
|
}
|
|
|
|
protected override void DecodeImpl(BinaryReader reader, long endOfStream)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
protected override byte[] EncodeImpl()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|