chore: housekeeping — linter & formatter setup
Add .prettierrc.json, .markdownlint.json, .yamllint.yaml, .gitattributes Run CSharpier, Prettier and markdownlint across the entire codebase. No logic changes — formatting, using order and line endings only.
This commit is contained in:
@@ -16,7 +16,7 @@ public class ChatCode
|
||||
}
|
||||
|
||||
public ChatCode(byte type, byte source, byte target)
|
||||
: this((XivChatType)type, (XivChatRelationKind)source, (XivChatRelationKind)target) {}
|
||||
: this((XivChatType)type, (XivChatRelationKind)source, (XivChatRelationKind)target) { }
|
||||
|
||||
public bool IsBattle()
|
||||
{
|
||||
|
||||
@@ -5,24 +5,32 @@ namespace HellionChat.Code;
|
||||
internal static class ChatSourceExt
|
||||
{
|
||||
internal const ChatSource All =
|
||||
ChatSource.LocalPlayer | ChatSource.PartyMember | ChatSource.AllianceMember |
|
||||
ChatSource.OtherPlayer | ChatSource.EngagedEnemy | ChatSource.UnengagedEnemy |
|
||||
ChatSource.FriendlyNpc | ChatSource.PetOrCompanion | ChatSource.PetOrCompanionParty |
|
||||
ChatSource.PetOrCompanionAlliance | ChatSource.PetOrCompanionOther;
|
||||
ChatSource.LocalPlayer
|
||||
| ChatSource.PartyMember
|
||||
| ChatSource.AllianceMember
|
||||
| ChatSource.OtherPlayer
|
||||
| ChatSource.EngagedEnemy
|
||||
| ChatSource.UnengagedEnemy
|
||||
| ChatSource.FriendlyNpc
|
||||
| ChatSource.PetOrCompanion
|
||||
| ChatSource.PetOrCompanionParty
|
||||
| ChatSource.PetOrCompanionAlliance
|
||||
| ChatSource.PetOrCompanionOther;
|
||||
|
||||
internal static string Name(this ChatSource source) => source switch
|
||||
{
|
||||
ChatSource.LocalPlayer => Language.ChatSource_Self,
|
||||
ChatSource.PartyMember => Language.ChatSource_PartyMember,
|
||||
ChatSource.AllianceMember => Language.ChatSource_AllianceMember,
|
||||
ChatSource.OtherPlayer => Language.ChatSource_Other,
|
||||
ChatSource.EngagedEnemy => Language.ChatSource_EngagedEnemy,
|
||||
ChatSource.UnengagedEnemy => Language.ChatSource_UnengagedEnemy,
|
||||
ChatSource.FriendlyNpc => Language.ChatSource_FriendlyNpc,
|
||||
ChatSource.PetOrCompanion => Language.ChatSource_SelfPet,
|
||||
ChatSource.PetOrCompanionParty => Language.ChatSource_PartyPet,
|
||||
ChatSource.PetOrCompanionAlliance => Language.ChatSource_AlliancePet,
|
||||
ChatSource.PetOrCompanionOther => Language.ChatSource_OtherPet,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(source), source, null),
|
||||
};
|
||||
internal static string Name(this ChatSource source) =>
|
||||
source switch
|
||||
{
|
||||
ChatSource.LocalPlayer => Language.ChatSource_Self,
|
||||
ChatSource.PartyMember => Language.ChatSource_PartyMember,
|
||||
ChatSource.AllianceMember => Language.ChatSource_AllianceMember,
|
||||
ChatSource.OtherPlayer => Language.ChatSource_Other,
|
||||
ChatSource.EngagedEnemy => Language.ChatSource_EngagedEnemy,
|
||||
ChatSource.UnengagedEnemy => Language.ChatSource_UnengagedEnemy,
|
||||
ChatSource.FriendlyNpc => Language.ChatSource_FriendlyNpc,
|
||||
ChatSource.PetOrCompanion => Language.ChatSource_SelfPet,
|
||||
ChatSource.PetOrCompanionParty => Language.ChatSource_PartyPet,
|
||||
ChatSource.PetOrCompanionAlliance => Language.ChatSource_AlliancePet,
|
||||
ChatSource.PetOrCompanionOther => Language.ChatSource_OtherPet,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(source), source, null),
|
||||
};
|
||||
}
|
||||
|
||||
+265
-252
@@ -1,92 +1,98 @@
|
||||
using Dalamud.Game.Config;
|
||||
using HellionChat.Resources;
|
||||
using HellionChat.Util;
|
||||
using Dalamud.Game.Config;
|
||||
|
||||
namespace HellionChat.Code;
|
||||
|
||||
internal static class ChatTypeExt
|
||||
{
|
||||
internal static IEnumerable<(string, ChatType[])> SortOrder =>
|
||||
[
|
||||
(Language.Options_Tabs_ChannelTypes_Special, [ChatType.Debug, ChatType.Urgent, ChatType.Notice]),
|
||||
|
||||
(Language.Options_Tabs_ChannelTypes_Chat,
|
||||
[
|
||||
ChatType.Say,
|
||||
ChatType.Yell,
|
||||
ChatType.Shout,
|
||||
ChatType.TellIncoming,
|
||||
ChatType.TellOutgoing,
|
||||
ChatType.Party,
|
||||
ChatType.CrossParty,
|
||||
ChatType.Alliance,
|
||||
ChatType.FreeCompany,
|
||||
ChatType.PvpTeam,
|
||||
ChatType.CrossLinkshell1,
|
||||
ChatType.CrossLinkshell2,
|
||||
ChatType.CrossLinkshell3,
|
||||
ChatType.CrossLinkshell4,
|
||||
ChatType.CrossLinkshell5,
|
||||
ChatType.CrossLinkshell6,
|
||||
ChatType.CrossLinkshell7,
|
||||
ChatType.CrossLinkshell8,
|
||||
ChatType.Linkshell1,
|
||||
ChatType.Linkshell2,
|
||||
ChatType.Linkshell3,
|
||||
ChatType.Linkshell4,
|
||||
ChatType.Linkshell5,
|
||||
ChatType.Linkshell6,
|
||||
ChatType.Linkshell7,
|
||||
ChatType.Linkshell8,
|
||||
ChatType.NoviceNetwork,
|
||||
ChatType.StandardEmote,
|
||||
ChatType.CustomEmote
|
||||
]),
|
||||
|
||||
(Language.Options_Tabs_ChannelTypes_Battle,
|
||||
[
|
||||
ChatType.Damage,
|
||||
ChatType.Miss,
|
||||
ChatType.Action,
|
||||
ChatType.Item,
|
||||
ChatType.Healing,
|
||||
ChatType.GainBuff,
|
||||
ChatType.LoseBuff,
|
||||
ChatType.GainDebuff,
|
||||
ChatType.LoseDebuff
|
||||
]),
|
||||
|
||||
(Language.Options_Tabs_ChannelTypes_Announcements,
|
||||
[
|
||||
ChatType.System,
|
||||
ChatType.BattleSystem,
|
||||
ChatType.GatheringSystem,
|
||||
ChatType.Error,
|
||||
ChatType.Echo,
|
||||
ChatType.NoviceNetworkSystem,
|
||||
ChatType.FreeCompanyAnnouncement,
|
||||
ChatType.PvpTeamAnnouncement,
|
||||
ChatType.FreeCompanyLoginLogout,
|
||||
ChatType.PvpTeamLoginLogout,
|
||||
ChatType.RetainerSale,
|
||||
ChatType.NpcDialogue,
|
||||
ChatType.NpcAnnouncement,
|
||||
ChatType.LootNotice,
|
||||
ChatType.Progress,
|
||||
ChatType.LootRoll,
|
||||
ChatType.Crafting,
|
||||
ChatType.Gathering,
|
||||
ChatType.PeriodicRecruitmentNotification,
|
||||
ChatType.Sign,
|
||||
ChatType.RandomNumber,
|
||||
ChatType.Orchestrion,
|
||||
ChatType.MessageBook,
|
||||
ChatType.Alarm,
|
||||
ChatType.GlamourNotifications
|
||||
])
|
||||
// Note: ExtraChat linkshells are handled separately in the tab settings
|
||||
// UI.
|
||||
];
|
||||
(
|
||||
Language.Options_Tabs_ChannelTypes_Special,
|
||||
[ChatType.Debug, ChatType.Urgent, ChatType.Notice]
|
||||
),
|
||||
(
|
||||
Language.Options_Tabs_ChannelTypes_Chat,
|
||||
[
|
||||
ChatType.Say,
|
||||
ChatType.Yell,
|
||||
ChatType.Shout,
|
||||
ChatType.TellIncoming,
|
||||
ChatType.TellOutgoing,
|
||||
ChatType.Party,
|
||||
ChatType.CrossParty,
|
||||
ChatType.Alliance,
|
||||
ChatType.FreeCompany,
|
||||
ChatType.PvpTeam,
|
||||
ChatType.CrossLinkshell1,
|
||||
ChatType.CrossLinkshell2,
|
||||
ChatType.CrossLinkshell3,
|
||||
ChatType.CrossLinkshell4,
|
||||
ChatType.CrossLinkshell5,
|
||||
ChatType.CrossLinkshell6,
|
||||
ChatType.CrossLinkshell7,
|
||||
ChatType.CrossLinkshell8,
|
||||
ChatType.Linkshell1,
|
||||
ChatType.Linkshell2,
|
||||
ChatType.Linkshell3,
|
||||
ChatType.Linkshell4,
|
||||
ChatType.Linkshell5,
|
||||
ChatType.Linkshell6,
|
||||
ChatType.Linkshell7,
|
||||
ChatType.Linkshell8,
|
||||
ChatType.NoviceNetwork,
|
||||
ChatType.StandardEmote,
|
||||
ChatType.CustomEmote,
|
||||
]
|
||||
),
|
||||
(
|
||||
Language.Options_Tabs_ChannelTypes_Battle,
|
||||
[
|
||||
ChatType.Damage,
|
||||
ChatType.Miss,
|
||||
ChatType.Action,
|
||||
ChatType.Item,
|
||||
ChatType.Healing,
|
||||
ChatType.GainBuff,
|
||||
ChatType.LoseBuff,
|
||||
ChatType.GainDebuff,
|
||||
ChatType.LoseDebuff,
|
||||
]
|
||||
),
|
||||
(
|
||||
Language.Options_Tabs_ChannelTypes_Announcements,
|
||||
[
|
||||
ChatType.System,
|
||||
ChatType.BattleSystem,
|
||||
ChatType.GatheringSystem,
|
||||
ChatType.Error,
|
||||
ChatType.Echo,
|
||||
ChatType.NoviceNetworkSystem,
|
||||
ChatType.FreeCompanyAnnouncement,
|
||||
ChatType.PvpTeamAnnouncement,
|
||||
ChatType.FreeCompanyLoginLogout,
|
||||
ChatType.PvpTeamLoginLogout,
|
||||
ChatType.RetainerSale,
|
||||
ChatType.NpcDialogue,
|
||||
ChatType.NpcAnnouncement,
|
||||
ChatType.LootNotice,
|
||||
ChatType.Progress,
|
||||
ChatType.LootRoll,
|
||||
ChatType.Crafting,
|
||||
ChatType.Gathering,
|
||||
ChatType.PeriodicRecruitmentNotification,
|
||||
ChatType.Sign,
|
||||
ChatType.RandomNumber,
|
||||
ChatType.Orchestrion,
|
||||
ChatType.MessageBook,
|
||||
ChatType.Alarm,
|
||||
ChatType.GlamourNotifications,
|
||||
]
|
||||
),
|
||||
// Note: ExtraChat linkshells are handled separately in the tab settings
|
||||
// UI.
|
||||
];
|
||||
|
||||
internal static string Name(this ChatType type)
|
||||
{
|
||||
@@ -143,7 +149,8 @@ internal static class ChatTypeExt
|
||||
ChatType.FreeCompanyAnnouncement => Language.ChatType_FreeCompanyAnnouncement,
|
||||
ChatType.FreeCompanyLoginLogout => Language.ChatType_FreeCompanyLoginLogout,
|
||||
ChatType.RetainerSale => Language.ChatType_RetainerSale,
|
||||
ChatType.PeriodicRecruitmentNotification => Language.ChatType_PeriodicRecruitmentNotification,
|
||||
ChatType.PeriodicRecruitmentNotification =>
|
||||
Language.ChatType_PeriodicRecruitmentNotification,
|
||||
ChatType.Sign => Language.ChatType_Sign,
|
||||
ChatType.RandomNumber => Language.ChatType_RandomNumber,
|
||||
ChatType.NoviceNetworkSystem => Language.ChatType_NoviceNetworkSystem,
|
||||
@@ -306,181 +313,187 @@ internal static class ChatTypeExt
|
||||
}
|
||||
}
|
||||
|
||||
internal static InputChannel? ToInputChannel(this ChatType type) => type switch
|
||||
{
|
||||
ChatType.TellOutgoing => InputChannel.Tell,
|
||||
ChatType.Say => InputChannel.Say,
|
||||
ChatType.Party => InputChannel.Party,
|
||||
ChatType.Alliance => InputChannel.Alliance,
|
||||
ChatType.Yell => InputChannel.Yell,
|
||||
ChatType.Shout => InputChannel.Shout,
|
||||
ChatType.FreeCompany => InputChannel.FreeCompany,
|
||||
ChatType.PvpTeam => InputChannel.PvpTeam,
|
||||
ChatType.NoviceNetwork => InputChannel.NoviceNetwork,
|
||||
ChatType.CrossLinkshell1 => InputChannel.CrossLinkshell1,
|
||||
ChatType.CrossLinkshell2 => InputChannel.CrossLinkshell2,
|
||||
ChatType.CrossLinkshell3 => InputChannel.CrossLinkshell3,
|
||||
ChatType.CrossLinkshell4 => InputChannel.CrossLinkshell4,
|
||||
ChatType.CrossLinkshell5 => InputChannel.CrossLinkshell5,
|
||||
ChatType.CrossLinkshell6 => InputChannel.CrossLinkshell6,
|
||||
ChatType.CrossLinkshell7 => InputChannel.CrossLinkshell7,
|
||||
ChatType.CrossLinkshell8 => InputChannel.CrossLinkshell8,
|
||||
ChatType.Linkshell1 => InputChannel.Linkshell1,
|
||||
ChatType.Linkshell2 => InputChannel.Linkshell2,
|
||||
ChatType.Linkshell3 => InputChannel.Linkshell3,
|
||||
ChatType.Linkshell4 => InputChannel.Linkshell4,
|
||||
ChatType.Linkshell5 => InputChannel.Linkshell5,
|
||||
ChatType.Linkshell6 => InputChannel.Linkshell6,
|
||||
ChatType.Linkshell7 => InputChannel.Linkshell7,
|
||||
ChatType.Linkshell8 => InputChannel.Linkshell8,
|
||||
_ => null,
|
||||
};
|
||||
internal static InputChannel? ToInputChannel(this ChatType type) =>
|
||||
type switch
|
||||
{
|
||||
ChatType.TellOutgoing => InputChannel.Tell,
|
||||
ChatType.Say => InputChannel.Say,
|
||||
ChatType.Party => InputChannel.Party,
|
||||
ChatType.Alliance => InputChannel.Alliance,
|
||||
ChatType.Yell => InputChannel.Yell,
|
||||
ChatType.Shout => InputChannel.Shout,
|
||||
ChatType.FreeCompany => InputChannel.FreeCompany,
|
||||
ChatType.PvpTeam => InputChannel.PvpTeam,
|
||||
ChatType.NoviceNetwork => InputChannel.NoviceNetwork,
|
||||
ChatType.CrossLinkshell1 => InputChannel.CrossLinkshell1,
|
||||
ChatType.CrossLinkshell2 => InputChannel.CrossLinkshell2,
|
||||
ChatType.CrossLinkshell3 => InputChannel.CrossLinkshell3,
|
||||
ChatType.CrossLinkshell4 => InputChannel.CrossLinkshell4,
|
||||
ChatType.CrossLinkshell5 => InputChannel.CrossLinkshell5,
|
||||
ChatType.CrossLinkshell6 => InputChannel.CrossLinkshell6,
|
||||
ChatType.CrossLinkshell7 => InputChannel.CrossLinkshell7,
|
||||
ChatType.CrossLinkshell8 => InputChannel.CrossLinkshell8,
|
||||
ChatType.Linkshell1 => InputChannel.Linkshell1,
|
||||
ChatType.Linkshell2 => InputChannel.Linkshell2,
|
||||
ChatType.Linkshell3 => InputChannel.Linkshell3,
|
||||
ChatType.Linkshell4 => InputChannel.Linkshell4,
|
||||
ChatType.Linkshell5 => InputChannel.Linkshell5,
|
||||
ChatType.Linkshell6 => InputChannel.Linkshell6,
|
||||
ChatType.Linkshell7 => InputChannel.Linkshell7,
|
||||
ChatType.Linkshell8 => InputChannel.Linkshell8,
|
||||
_ => null,
|
||||
};
|
||||
|
||||
internal static bool IsGm(this ChatType type) => type switch
|
||||
{
|
||||
ChatType.GmTell => true,
|
||||
ChatType.GmSay => true,
|
||||
ChatType.GmShout => true,
|
||||
ChatType.GmYell => true,
|
||||
ChatType.GmParty => true,
|
||||
ChatType.GmFreeCompany => true,
|
||||
ChatType.GmLinkshell1 => true,
|
||||
ChatType.GmLinkshell2 => true,
|
||||
ChatType.GmLinkshell3 => true,
|
||||
ChatType.GmLinkshell4 => true,
|
||||
ChatType.GmLinkshell5 => true,
|
||||
ChatType.GmLinkshell6 => true,
|
||||
ChatType.GmLinkshell7 => true,
|
||||
ChatType.GmLinkshell8 => true,
|
||||
ChatType.GmNoviceNetwork => true,
|
||||
_ => false,
|
||||
};
|
||||
internal static bool IsGm(this ChatType type) =>
|
||||
type switch
|
||||
{
|
||||
ChatType.GmTell => true,
|
||||
ChatType.GmSay => true,
|
||||
ChatType.GmShout => true,
|
||||
ChatType.GmYell => true,
|
||||
ChatType.GmParty => true,
|
||||
ChatType.GmFreeCompany => true,
|
||||
ChatType.GmLinkshell1 => true,
|
||||
ChatType.GmLinkshell2 => true,
|
||||
ChatType.GmLinkshell3 => true,
|
||||
ChatType.GmLinkshell4 => true,
|
||||
ChatType.GmLinkshell5 => true,
|
||||
ChatType.GmLinkshell6 => true,
|
||||
ChatType.GmLinkshell7 => true,
|
||||
ChatType.GmLinkshell8 => true,
|
||||
ChatType.GmNoviceNetwork => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
internal static bool IsExtraChatLinkshell(this ChatType type) => type switch
|
||||
{
|
||||
ChatType.ExtraChatLinkshell1 => true,
|
||||
ChatType.ExtraChatLinkshell2 => true,
|
||||
ChatType.ExtraChatLinkshell3 => true,
|
||||
ChatType.ExtraChatLinkshell4 => true,
|
||||
ChatType.ExtraChatLinkshell5 => true,
|
||||
ChatType.ExtraChatLinkshell6 => true,
|
||||
ChatType.ExtraChatLinkshell7 => true,
|
||||
ChatType.ExtraChatLinkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
internal static bool IsExtraChatLinkshell(this ChatType type) =>
|
||||
type switch
|
||||
{
|
||||
ChatType.ExtraChatLinkshell1 => true,
|
||||
ChatType.ExtraChatLinkshell2 => true,
|
||||
ChatType.ExtraChatLinkshell3 => true,
|
||||
ChatType.ExtraChatLinkshell4 => true,
|
||||
ChatType.ExtraChatLinkshell5 => true,
|
||||
ChatType.ExtraChatLinkshell6 => true,
|
||||
ChatType.ExtraChatLinkshell7 => true,
|
||||
ChatType.ExtraChatLinkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
public static UiConfigOption ToConfigEntry(this ChatType type) => type switch
|
||||
{
|
||||
ChatType.Say => UiConfigOption.ColorSay,
|
||||
ChatType.Shout => UiConfigOption.ColorShout,
|
||||
ChatType.TellOutgoing => UiConfigOption.ColorTell,
|
||||
ChatType.Party => UiConfigOption.ColorParty,
|
||||
ChatType.Linkshell1 => UiConfigOption.ColorLS1,
|
||||
ChatType.Linkshell2 => UiConfigOption.ColorLS2,
|
||||
ChatType.Linkshell3 => UiConfigOption.ColorLS3,
|
||||
ChatType.Linkshell4 => UiConfigOption.ColorLS4,
|
||||
ChatType.Linkshell5 => UiConfigOption.ColorLS5,
|
||||
ChatType.Linkshell6 => UiConfigOption.ColorLS6,
|
||||
ChatType.Linkshell7 => UiConfigOption.ColorLS7,
|
||||
ChatType.Linkshell8 => UiConfigOption.ColorLS8,
|
||||
ChatType.FreeCompany => UiConfigOption.ColorFCompany,
|
||||
ChatType.NoviceNetwork => UiConfigOption.ColorBeginner,
|
||||
ChatType.CustomEmote => UiConfigOption.ColorEmoteUser,
|
||||
ChatType.StandardEmote => UiConfigOption.ColorEmote,
|
||||
ChatType.Yell => UiConfigOption.ColorYell,
|
||||
ChatType.GainBuff => UiConfigOption.ColorBuffGive,
|
||||
ChatType.GainDebuff => UiConfigOption.ColorDebuffGive,
|
||||
ChatType.System => UiConfigOption.ColorSysMsg,
|
||||
ChatType.NpcDialogue => UiConfigOption.ColorNpcSay,
|
||||
ChatType.LootRoll => UiConfigOption.ColorLoot,
|
||||
ChatType.FreeCompanyAnnouncement => UiConfigOption.ColorFCAnnounce,
|
||||
ChatType.PvpTeamAnnouncement => UiConfigOption.ColorPvPGroupAnnounce,
|
||||
_ => UiConfigOption.ColorSay,
|
||||
};
|
||||
public static UiConfigOption ToConfigEntry(this ChatType type) =>
|
||||
type switch
|
||||
{
|
||||
ChatType.Say => UiConfigOption.ColorSay,
|
||||
ChatType.Shout => UiConfigOption.ColorShout,
|
||||
ChatType.TellOutgoing => UiConfigOption.ColorTell,
|
||||
ChatType.Party => UiConfigOption.ColorParty,
|
||||
ChatType.Linkshell1 => UiConfigOption.ColorLS1,
|
||||
ChatType.Linkshell2 => UiConfigOption.ColorLS2,
|
||||
ChatType.Linkshell3 => UiConfigOption.ColorLS3,
|
||||
ChatType.Linkshell4 => UiConfigOption.ColorLS4,
|
||||
ChatType.Linkshell5 => UiConfigOption.ColorLS5,
|
||||
ChatType.Linkshell6 => UiConfigOption.ColorLS6,
|
||||
ChatType.Linkshell7 => UiConfigOption.ColorLS7,
|
||||
ChatType.Linkshell8 => UiConfigOption.ColorLS8,
|
||||
ChatType.FreeCompany => UiConfigOption.ColorFCompany,
|
||||
ChatType.NoviceNetwork => UiConfigOption.ColorBeginner,
|
||||
ChatType.CustomEmote => UiConfigOption.ColorEmoteUser,
|
||||
ChatType.StandardEmote => UiConfigOption.ColorEmote,
|
||||
ChatType.Yell => UiConfigOption.ColorYell,
|
||||
ChatType.GainBuff => UiConfigOption.ColorBuffGive,
|
||||
ChatType.GainDebuff => UiConfigOption.ColorDebuffGive,
|
||||
ChatType.System => UiConfigOption.ColorSysMsg,
|
||||
ChatType.NpcDialogue => UiConfigOption.ColorNpcSay,
|
||||
ChatType.LootRoll => UiConfigOption.ColorLoot,
|
||||
ChatType.FreeCompanyAnnouncement => UiConfigOption.ColorFCAnnounce,
|
||||
ChatType.PvpTeamAnnouncement => UiConfigOption.ColorPvPGroupAnnounce,
|
||||
_ => UiConfigOption.ColorSay,
|
||||
};
|
||||
|
||||
internal static bool HasSource(this ChatType type) => type switch
|
||||
{
|
||||
// Battle
|
||||
ChatType.Damage => true,
|
||||
ChatType.Miss => true,
|
||||
ChatType.Action => true,
|
||||
ChatType.Item => true,
|
||||
ChatType.Healing => true,
|
||||
ChatType.GainBuff => true,
|
||||
ChatType.LoseBuff => true,
|
||||
ChatType.GainDebuff => true,
|
||||
ChatType.LoseDebuff => true,
|
||||
internal static bool HasSource(this ChatType type) =>
|
||||
type switch
|
||||
{
|
||||
// Battle
|
||||
ChatType.Damage => true,
|
||||
ChatType.Miss => true,
|
||||
ChatType.Action => true,
|
||||
ChatType.Item => true,
|
||||
ChatType.Healing => true,
|
||||
ChatType.GainBuff => true,
|
||||
ChatType.LoseBuff => true,
|
||||
ChatType.GainDebuff => true,
|
||||
ChatType.LoseDebuff => true,
|
||||
|
||||
// Announcements
|
||||
ChatType.System => true,
|
||||
ChatType.BattleSystem => true,
|
||||
ChatType.Error => true,
|
||||
ChatType.LootNotice => true,
|
||||
ChatType.Progress => true,
|
||||
ChatType.LootRoll => true,
|
||||
ChatType.Crafting => true,
|
||||
ChatType.Gathering => true,
|
||||
ChatType.FreeCompanyLoginLogout => true,
|
||||
ChatType.PvpTeamLoginLogout => true,
|
||||
_ => false,
|
||||
};
|
||||
// Announcements
|
||||
ChatType.System => true,
|
||||
ChatType.BattleSystem => true,
|
||||
ChatType.Error => true,
|
||||
ChatType.LootNotice => true,
|
||||
ChatType.Progress => true,
|
||||
ChatType.LootRoll => true,
|
||||
ChatType.Crafting => true,
|
||||
ChatType.Gathering => true,
|
||||
ChatType.FreeCompanyLoginLogout => true,
|
||||
ChatType.PvpTeamLoginLogout => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
internal static ChatType Parent(this ChatType type) => type switch
|
||||
{
|
||||
ChatType.Say => ChatType.Say,
|
||||
ChatType.GmSay => ChatType.Say,
|
||||
ChatType.Shout => ChatType.Shout,
|
||||
ChatType.GmShout => ChatType.Shout,
|
||||
ChatType.TellOutgoing => ChatType.TellOutgoing,
|
||||
ChatType.TellIncoming => ChatType.TellOutgoing,
|
||||
ChatType.GmTell => ChatType.TellOutgoing,
|
||||
ChatType.Party => ChatType.Party,
|
||||
ChatType.CrossParty => ChatType.Party,
|
||||
ChatType.GmParty => ChatType.Party,
|
||||
ChatType.Linkshell1 => ChatType.Linkshell1,
|
||||
ChatType.GmLinkshell1 => ChatType.Linkshell1,
|
||||
ChatType.Linkshell2 => ChatType.Linkshell2,
|
||||
ChatType.GmLinkshell2 => ChatType.Linkshell2,
|
||||
ChatType.Linkshell3 => ChatType.Linkshell3,
|
||||
ChatType.GmLinkshell3 => ChatType.Linkshell3,
|
||||
ChatType.Linkshell4 => ChatType.Linkshell4,
|
||||
ChatType.GmLinkshell4 => ChatType.Linkshell4,
|
||||
ChatType.Linkshell5 => ChatType.Linkshell5,
|
||||
ChatType.GmLinkshell5 => ChatType.Linkshell5,
|
||||
ChatType.Linkshell6 => ChatType.Linkshell6,
|
||||
ChatType.GmLinkshell6 => ChatType.Linkshell6,
|
||||
ChatType.Linkshell7 => ChatType.Linkshell7,
|
||||
ChatType.GmLinkshell7 => ChatType.Linkshell7,
|
||||
ChatType.Linkshell8 => ChatType.Linkshell8,
|
||||
ChatType.GmLinkshell8 => ChatType.Linkshell8,
|
||||
ChatType.FreeCompany => ChatType.FreeCompany,
|
||||
ChatType.GmFreeCompany => ChatType.FreeCompany,
|
||||
ChatType.NoviceNetwork => ChatType.NoviceNetwork,
|
||||
ChatType.GmNoviceNetwork => ChatType.NoviceNetwork,
|
||||
ChatType.CustomEmote => ChatType.CustomEmote,
|
||||
ChatType.StandardEmote => ChatType.StandardEmote,
|
||||
ChatType.Yell => ChatType.Yell,
|
||||
ChatType.GmYell => ChatType.Yell,
|
||||
ChatType.GainBuff => ChatType.GainBuff,
|
||||
ChatType.LoseBuff => ChatType.GainBuff,
|
||||
ChatType.GainDebuff => ChatType.GainDebuff,
|
||||
ChatType.LoseDebuff => ChatType.GainDebuff,
|
||||
ChatType.System => ChatType.System,
|
||||
ChatType.Alarm => ChatType.System,
|
||||
ChatType.GlamourNotifications => ChatType.System,
|
||||
ChatType.RetainerSale => ChatType.System,
|
||||
ChatType.PeriodicRecruitmentNotification => ChatType.System,
|
||||
ChatType.Sign => ChatType.System,
|
||||
ChatType.Orchestrion => ChatType.System,
|
||||
ChatType.MessageBook => ChatType.System,
|
||||
ChatType.NpcDialogue => ChatType.NpcDialogue,
|
||||
ChatType.NpcAnnouncement => ChatType.NpcDialogue,
|
||||
ChatType.LootRoll => ChatType.LootRoll,
|
||||
ChatType.RandomNumber => ChatType.LootRoll,
|
||||
ChatType.FreeCompanyAnnouncement => ChatType.FreeCompanyAnnouncement,
|
||||
ChatType.FreeCompanyLoginLogout => ChatType.FreeCompanyAnnouncement,
|
||||
ChatType.PvpTeamAnnouncement => ChatType.PvpTeamAnnouncement,
|
||||
ChatType.PvpTeamLoginLogout => ChatType.PvpTeamAnnouncement,
|
||||
_ => type,
|
||||
};
|
||||
internal static ChatType Parent(this ChatType type) =>
|
||||
type switch
|
||||
{
|
||||
ChatType.Say => ChatType.Say,
|
||||
ChatType.GmSay => ChatType.Say,
|
||||
ChatType.Shout => ChatType.Shout,
|
||||
ChatType.GmShout => ChatType.Shout,
|
||||
ChatType.TellOutgoing => ChatType.TellOutgoing,
|
||||
ChatType.TellIncoming => ChatType.TellOutgoing,
|
||||
ChatType.GmTell => ChatType.TellOutgoing,
|
||||
ChatType.Party => ChatType.Party,
|
||||
ChatType.CrossParty => ChatType.Party,
|
||||
ChatType.GmParty => ChatType.Party,
|
||||
ChatType.Linkshell1 => ChatType.Linkshell1,
|
||||
ChatType.GmLinkshell1 => ChatType.Linkshell1,
|
||||
ChatType.Linkshell2 => ChatType.Linkshell2,
|
||||
ChatType.GmLinkshell2 => ChatType.Linkshell2,
|
||||
ChatType.Linkshell3 => ChatType.Linkshell3,
|
||||
ChatType.GmLinkshell3 => ChatType.Linkshell3,
|
||||
ChatType.Linkshell4 => ChatType.Linkshell4,
|
||||
ChatType.GmLinkshell4 => ChatType.Linkshell4,
|
||||
ChatType.Linkshell5 => ChatType.Linkshell5,
|
||||
ChatType.GmLinkshell5 => ChatType.Linkshell5,
|
||||
ChatType.Linkshell6 => ChatType.Linkshell6,
|
||||
ChatType.GmLinkshell6 => ChatType.Linkshell6,
|
||||
ChatType.Linkshell7 => ChatType.Linkshell7,
|
||||
ChatType.GmLinkshell7 => ChatType.Linkshell7,
|
||||
ChatType.Linkshell8 => ChatType.Linkshell8,
|
||||
ChatType.GmLinkshell8 => ChatType.Linkshell8,
|
||||
ChatType.FreeCompany => ChatType.FreeCompany,
|
||||
ChatType.GmFreeCompany => ChatType.FreeCompany,
|
||||
ChatType.NoviceNetwork => ChatType.NoviceNetwork,
|
||||
ChatType.GmNoviceNetwork => ChatType.NoviceNetwork,
|
||||
ChatType.CustomEmote => ChatType.CustomEmote,
|
||||
ChatType.StandardEmote => ChatType.StandardEmote,
|
||||
ChatType.Yell => ChatType.Yell,
|
||||
ChatType.GmYell => ChatType.Yell,
|
||||
ChatType.GainBuff => ChatType.GainBuff,
|
||||
ChatType.LoseBuff => ChatType.GainBuff,
|
||||
ChatType.GainDebuff => ChatType.GainDebuff,
|
||||
ChatType.LoseDebuff => ChatType.GainDebuff,
|
||||
ChatType.System => ChatType.System,
|
||||
ChatType.Alarm => ChatType.System,
|
||||
ChatType.GlamourNotifications => ChatType.System,
|
||||
ChatType.RetainerSale => ChatType.System,
|
||||
ChatType.PeriodicRecruitmentNotification => ChatType.System,
|
||||
ChatType.Sign => ChatType.System,
|
||||
ChatType.Orchestrion => ChatType.System,
|
||||
ChatType.MessageBook => ChatType.System,
|
||||
ChatType.NpcDialogue => ChatType.NpcDialogue,
|
||||
ChatType.NpcAnnouncement => ChatType.NpcDialogue,
|
||||
ChatType.LootRoll => ChatType.LootRoll,
|
||||
ChatType.RandomNumber => ChatType.LootRoll,
|
||||
ChatType.FreeCompanyAnnouncement => ChatType.FreeCompanyAnnouncement,
|
||||
ChatType.FreeCompanyLoginLogout => ChatType.FreeCompanyAnnouncement,
|
||||
ChatType.PvpTeamAnnouncement => ChatType.PvpTeamAnnouncement,
|
||||
ChatType.PvpTeamLoginLogout => ChatType.PvpTeamAnnouncement,
|
||||
_ => type,
|
||||
};
|
||||
}
|
||||
|
||||
+153
-145
@@ -4,111 +4,114 @@ namespace HellionChat.Code;
|
||||
|
||||
internal static class InputChannelExt
|
||||
{
|
||||
internal static ChatType ToChatType(this InputChannel input) => input switch
|
||||
{
|
||||
InputChannel.Tell => ChatType.TellOutgoing,
|
||||
InputChannel.Say => ChatType.Say,
|
||||
InputChannel.Party => ChatType.Party,
|
||||
InputChannel.Alliance => ChatType.Alliance,
|
||||
InputChannel.Yell => ChatType.Yell,
|
||||
InputChannel.Shout => ChatType.Shout,
|
||||
InputChannel.FreeCompany => ChatType.FreeCompany,
|
||||
InputChannel.PvpTeam => ChatType.PvpTeam,
|
||||
InputChannel.NoviceNetwork => ChatType.NoviceNetwork,
|
||||
InputChannel.CrossLinkshell1 => ChatType.CrossLinkshell1,
|
||||
InputChannel.CrossLinkshell2 => ChatType.CrossLinkshell2,
|
||||
InputChannel.CrossLinkshell3 => ChatType.CrossLinkshell3,
|
||||
InputChannel.CrossLinkshell4 => ChatType.CrossLinkshell4,
|
||||
InputChannel.CrossLinkshell5 => ChatType.CrossLinkshell5,
|
||||
InputChannel.CrossLinkshell6 => ChatType.CrossLinkshell6,
|
||||
InputChannel.CrossLinkshell7 => ChatType.CrossLinkshell7,
|
||||
InputChannel.CrossLinkshell8 => ChatType.CrossLinkshell8,
|
||||
InputChannel.Linkshell1 => ChatType.Linkshell1,
|
||||
InputChannel.Linkshell2 => ChatType.Linkshell2,
|
||||
InputChannel.Linkshell3 => ChatType.Linkshell3,
|
||||
InputChannel.Linkshell4 => ChatType.Linkshell4,
|
||||
InputChannel.Linkshell5 => ChatType.Linkshell5,
|
||||
InputChannel.Linkshell6 => ChatType.Linkshell6,
|
||||
InputChannel.Linkshell7 => ChatType.Linkshell7,
|
||||
InputChannel.Linkshell8 => ChatType.Linkshell8,
|
||||
InputChannel.ExtraChatLinkshell1 => ChatType.ExtraChatLinkshell1,
|
||||
InputChannel.ExtraChatLinkshell2 => ChatType.ExtraChatLinkshell2,
|
||||
InputChannel.ExtraChatLinkshell3 => ChatType.ExtraChatLinkshell3,
|
||||
InputChannel.ExtraChatLinkshell4 => ChatType.ExtraChatLinkshell4,
|
||||
InputChannel.ExtraChatLinkshell5 => ChatType.ExtraChatLinkshell5,
|
||||
InputChannel.ExtraChatLinkshell6 => ChatType.ExtraChatLinkshell6,
|
||||
InputChannel.ExtraChatLinkshell7 => ChatType.ExtraChatLinkshell7,
|
||||
InputChannel.ExtraChatLinkshell8 => ChatType.ExtraChatLinkshell8,
|
||||
InputChannel.Invalid => ChatType.Echo,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(input), input, null),
|
||||
};
|
||||
internal static ChatType ToChatType(this InputChannel input) =>
|
||||
input switch
|
||||
{
|
||||
InputChannel.Tell => ChatType.TellOutgoing,
|
||||
InputChannel.Say => ChatType.Say,
|
||||
InputChannel.Party => ChatType.Party,
|
||||
InputChannel.Alliance => ChatType.Alliance,
|
||||
InputChannel.Yell => ChatType.Yell,
|
||||
InputChannel.Shout => ChatType.Shout,
|
||||
InputChannel.FreeCompany => ChatType.FreeCompany,
|
||||
InputChannel.PvpTeam => ChatType.PvpTeam,
|
||||
InputChannel.NoviceNetwork => ChatType.NoviceNetwork,
|
||||
InputChannel.CrossLinkshell1 => ChatType.CrossLinkshell1,
|
||||
InputChannel.CrossLinkshell2 => ChatType.CrossLinkshell2,
|
||||
InputChannel.CrossLinkshell3 => ChatType.CrossLinkshell3,
|
||||
InputChannel.CrossLinkshell4 => ChatType.CrossLinkshell4,
|
||||
InputChannel.CrossLinkshell5 => ChatType.CrossLinkshell5,
|
||||
InputChannel.CrossLinkshell6 => ChatType.CrossLinkshell6,
|
||||
InputChannel.CrossLinkshell7 => ChatType.CrossLinkshell7,
|
||||
InputChannel.CrossLinkshell8 => ChatType.CrossLinkshell8,
|
||||
InputChannel.Linkshell1 => ChatType.Linkshell1,
|
||||
InputChannel.Linkshell2 => ChatType.Linkshell2,
|
||||
InputChannel.Linkshell3 => ChatType.Linkshell3,
|
||||
InputChannel.Linkshell4 => ChatType.Linkshell4,
|
||||
InputChannel.Linkshell5 => ChatType.Linkshell5,
|
||||
InputChannel.Linkshell6 => ChatType.Linkshell6,
|
||||
InputChannel.Linkshell7 => ChatType.Linkshell7,
|
||||
InputChannel.Linkshell8 => ChatType.Linkshell8,
|
||||
InputChannel.ExtraChatLinkshell1 => ChatType.ExtraChatLinkshell1,
|
||||
InputChannel.ExtraChatLinkshell2 => ChatType.ExtraChatLinkshell2,
|
||||
InputChannel.ExtraChatLinkshell3 => ChatType.ExtraChatLinkshell3,
|
||||
InputChannel.ExtraChatLinkshell4 => ChatType.ExtraChatLinkshell4,
|
||||
InputChannel.ExtraChatLinkshell5 => ChatType.ExtraChatLinkshell5,
|
||||
InputChannel.ExtraChatLinkshell6 => ChatType.ExtraChatLinkshell6,
|
||||
InputChannel.ExtraChatLinkshell7 => ChatType.ExtraChatLinkshell7,
|
||||
InputChannel.ExtraChatLinkshell8 => ChatType.ExtraChatLinkshell8,
|
||||
InputChannel.Invalid => ChatType.Echo,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(input), input, null),
|
||||
};
|
||||
|
||||
public static uint LinkshellIndex(this InputChannel channel) => channel switch
|
||||
{
|
||||
InputChannel.Linkshell1 => 0,
|
||||
InputChannel.Linkshell2 => 1,
|
||||
InputChannel.Linkshell3 => 2,
|
||||
InputChannel.Linkshell4 => 3,
|
||||
InputChannel.Linkshell5 => 4,
|
||||
InputChannel.Linkshell6 => 5,
|
||||
InputChannel.Linkshell7 => 6,
|
||||
InputChannel.Linkshell8 => 7,
|
||||
InputChannel.CrossLinkshell1 => 0,
|
||||
InputChannel.CrossLinkshell2 => 1,
|
||||
InputChannel.CrossLinkshell3 => 2,
|
||||
InputChannel.CrossLinkshell4 => 3,
|
||||
InputChannel.CrossLinkshell5 => 4,
|
||||
InputChannel.CrossLinkshell6 => 5,
|
||||
InputChannel.CrossLinkshell7 => 6,
|
||||
InputChannel.CrossLinkshell8 => 7,
|
||||
InputChannel.ExtraChatLinkshell1 => 0,
|
||||
InputChannel.ExtraChatLinkshell2 => 1,
|
||||
InputChannel.ExtraChatLinkshell3 => 2,
|
||||
InputChannel.ExtraChatLinkshell4 => 3,
|
||||
InputChannel.ExtraChatLinkshell5 => 4,
|
||||
InputChannel.ExtraChatLinkshell6 => 5,
|
||||
InputChannel.ExtraChatLinkshell7 => 6,
|
||||
InputChannel.ExtraChatLinkshell8 => 7,
|
||||
_ => uint.MaxValue,
|
||||
};
|
||||
public static uint LinkshellIndex(this InputChannel channel) =>
|
||||
channel switch
|
||||
{
|
||||
InputChannel.Linkshell1 => 0,
|
||||
InputChannel.Linkshell2 => 1,
|
||||
InputChannel.Linkshell3 => 2,
|
||||
InputChannel.Linkshell4 => 3,
|
||||
InputChannel.Linkshell5 => 4,
|
||||
InputChannel.Linkshell6 => 5,
|
||||
InputChannel.Linkshell7 => 6,
|
||||
InputChannel.Linkshell8 => 7,
|
||||
InputChannel.CrossLinkshell1 => 0,
|
||||
InputChannel.CrossLinkshell2 => 1,
|
||||
InputChannel.CrossLinkshell3 => 2,
|
||||
InputChannel.CrossLinkshell4 => 3,
|
||||
InputChannel.CrossLinkshell5 => 4,
|
||||
InputChannel.CrossLinkshell6 => 5,
|
||||
InputChannel.CrossLinkshell7 => 6,
|
||||
InputChannel.CrossLinkshell8 => 7,
|
||||
InputChannel.ExtraChatLinkshell1 => 0,
|
||||
InputChannel.ExtraChatLinkshell2 => 1,
|
||||
InputChannel.ExtraChatLinkshell3 => 2,
|
||||
InputChannel.ExtraChatLinkshell4 => 3,
|
||||
InputChannel.ExtraChatLinkshell5 => 4,
|
||||
InputChannel.ExtraChatLinkshell6 => 5,
|
||||
InputChannel.ExtraChatLinkshell7 => 6,
|
||||
InputChannel.ExtraChatLinkshell8 => 7,
|
||||
_ => uint.MaxValue,
|
||||
};
|
||||
|
||||
public static string Prefix(this InputChannel channel) => channel switch
|
||||
{
|
||||
InputChannel.Tell => "/t",
|
||||
InputChannel.Say => "/s",
|
||||
InputChannel.Party => "/p",
|
||||
InputChannel.Alliance => "/a",
|
||||
InputChannel.Yell => "/y",
|
||||
InputChannel.Shout => "/sh",
|
||||
InputChannel.FreeCompany => "/fc",
|
||||
InputChannel.PvpTeam => "/pt",
|
||||
InputChannel.NoviceNetwork => "/b",
|
||||
InputChannel.CrossLinkshell1 => "/cwl1",
|
||||
InputChannel.CrossLinkshell2 => "/cwl2",
|
||||
InputChannel.CrossLinkshell3 => "/cwl3",
|
||||
InputChannel.CrossLinkshell4 => "/cwl4",
|
||||
InputChannel.CrossLinkshell5 => "/cwl5",
|
||||
InputChannel.CrossLinkshell6 => "/cwl6",
|
||||
InputChannel.CrossLinkshell7 => "/cwl7",
|
||||
InputChannel.CrossLinkshell8 => "/cwl8",
|
||||
InputChannel.Linkshell1 => "/l1",
|
||||
InputChannel.Linkshell2 => "/l2",
|
||||
InputChannel.Linkshell3 => "/l3",
|
||||
InputChannel.Linkshell4 => "/l4",
|
||||
InputChannel.Linkshell5 => "/l5",
|
||||
InputChannel.Linkshell6 => "/l6",
|
||||
InputChannel.Linkshell7 => "/l7",
|
||||
InputChannel.Linkshell8 => "/l8",
|
||||
InputChannel.ExtraChatLinkshell1 => "/ecl1",
|
||||
InputChannel.ExtraChatLinkshell2 => "/ecl2",
|
||||
InputChannel.ExtraChatLinkshell3 => "/ecl3",
|
||||
InputChannel.ExtraChatLinkshell4 => "/ecl4",
|
||||
InputChannel.ExtraChatLinkshell5 => "/ecl5",
|
||||
InputChannel.ExtraChatLinkshell6 => "/ecl6",
|
||||
InputChannel.ExtraChatLinkshell7 => "/ecl7",
|
||||
InputChannel.ExtraChatLinkshell8 => "/ecl8",
|
||||
_ => "/e",
|
||||
};
|
||||
public static string Prefix(this InputChannel channel) =>
|
||||
channel switch
|
||||
{
|
||||
InputChannel.Tell => "/t",
|
||||
InputChannel.Say => "/s",
|
||||
InputChannel.Party => "/p",
|
||||
InputChannel.Alliance => "/a",
|
||||
InputChannel.Yell => "/y",
|
||||
InputChannel.Shout => "/sh",
|
||||
InputChannel.FreeCompany => "/fc",
|
||||
InputChannel.PvpTeam => "/pt",
|
||||
InputChannel.NoviceNetwork => "/b",
|
||||
InputChannel.CrossLinkshell1 => "/cwl1",
|
||||
InputChannel.CrossLinkshell2 => "/cwl2",
|
||||
InputChannel.CrossLinkshell3 => "/cwl3",
|
||||
InputChannel.CrossLinkshell4 => "/cwl4",
|
||||
InputChannel.CrossLinkshell5 => "/cwl5",
|
||||
InputChannel.CrossLinkshell6 => "/cwl6",
|
||||
InputChannel.CrossLinkshell7 => "/cwl7",
|
||||
InputChannel.CrossLinkshell8 => "/cwl8",
|
||||
InputChannel.Linkshell1 => "/l1",
|
||||
InputChannel.Linkshell2 => "/l2",
|
||||
InputChannel.Linkshell3 => "/l3",
|
||||
InputChannel.Linkshell4 => "/l4",
|
||||
InputChannel.Linkshell5 => "/l5",
|
||||
InputChannel.Linkshell6 => "/l6",
|
||||
InputChannel.Linkshell7 => "/l7",
|
||||
InputChannel.Linkshell8 => "/l8",
|
||||
InputChannel.ExtraChatLinkshell1 => "/ecl1",
|
||||
InputChannel.ExtraChatLinkshell2 => "/ecl2",
|
||||
InputChannel.ExtraChatLinkshell3 => "/ecl3",
|
||||
InputChannel.ExtraChatLinkshell4 => "/ecl4",
|
||||
InputChannel.ExtraChatLinkshell5 => "/ecl5",
|
||||
InputChannel.ExtraChatLinkshell6 => "/ecl6",
|
||||
InputChannel.ExtraChatLinkshell7 => "/ecl7",
|
||||
InputChannel.ExtraChatLinkshell8 => "/ecl8",
|
||||
_ => "/e",
|
||||
};
|
||||
|
||||
public static IEnumerable<TextCommand>? TextCommands(this InputChannel channel)
|
||||
{
|
||||
@@ -145,51 +148,56 @@ internal static class InputChannelExt
|
||||
if (ids.Length == 0)
|
||||
return null;
|
||||
|
||||
return ids.Where(id => Sheets.TextCommandSheet.HasRow(id)).Select(id => Sheets.TextCommandSheet.GetRow(id));
|
||||
return ids.Where(id => Sheets.TextCommandSheet.HasRow(id))
|
||||
.Select(id => Sheets.TextCommandSheet.GetRow(id));
|
||||
}
|
||||
|
||||
internal static bool IsLinkshell(this InputChannel channel) => channel switch
|
||||
{
|
||||
InputChannel.Linkshell1 => true,
|
||||
InputChannel.Linkshell2 => true,
|
||||
InputChannel.Linkshell3 => true,
|
||||
InputChannel.Linkshell4 => true,
|
||||
InputChannel.Linkshell5 => true,
|
||||
InputChannel.Linkshell6 => true,
|
||||
InputChannel.Linkshell7 => true,
|
||||
InputChannel.Linkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
internal static bool IsLinkshell(this InputChannel channel) =>
|
||||
channel switch
|
||||
{
|
||||
InputChannel.Linkshell1 => true,
|
||||
InputChannel.Linkshell2 => true,
|
||||
InputChannel.Linkshell3 => true,
|
||||
InputChannel.Linkshell4 => true,
|
||||
InputChannel.Linkshell5 => true,
|
||||
InputChannel.Linkshell6 => true,
|
||||
InputChannel.Linkshell7 => true,
|
||||
InputChannel.Linkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
internal static bool IsCrossLinkshell(this InputChannel channel) => channel switch
|
||||
{
|
||||
InputChannel.CrossLinkshell1 => true,
|
||||
InputChannel.CrossLinkshell2 => true,
|
||||
InputChannel.CrossLinkshell3 => true,
|
||||
InputChannel.CrossLinkshell4 => true,
|
||||
InputChannel.CrossLinkshell5 => true,
|
||||
InputChannel.CrossLinkshell6 => true,
|
||||
InputChannel.CrossLinkshell7 => true,
|
||||
InputChannel.CrossLinkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
internal static bool IsCrossLinkshell(this InputChannel channel) =>
|
||||
channel switch
|
||||
{
|
||||
InputChannel.CrossLinkshell1 => true,
|
||||
InputChannel.CrossLinkshell2 => true,
|
||||
InputChannel.CrossLinkshell3 => true,
|
||||
InputChannel.CrossLinkshell4 => true,
|
||||
InputChannel.CrossLinkshell5 => true,
|
||||
InputChannel.CrossLinkshell6 => true,
|
||||
InputChannel.CrossLinkshell7 => true,
|
||||
InputChannel.CrossLinkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
internal static bool IsExtraChatLinkshell(this InputChannel channel) => channel switch
|
||||
{
|
||||
InputChannel.ExtraChatLinkshell1 => true,
|
||||
InputChannel.ExtraChatLinkshell2 => true,
|
||||
InputChannel.ExtraChatLinkshell3 => true,
|
||||
InputChannel.ExtraChatLinkshell4 => true,
|
||||
InputChannel.ExtraChatLinkshell5 => true,
|
||||
InputChannel.ExtraChatLinkshell6 => true,
|
||||
InputChannel.ExtraChatLinkshell7 => true,
|
||||
InputChannel.ExtraChatLinkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
internal static bool IsExtraChatLinkshell(this InputChannel channel) =>
|
||||
channel switch
|
||||
{
|
||||
InputChannel.ExtraChatLinkshell1 => true,
|
||||
InputChannel.ExtraChatLinkshell2 => true,
|
||||
InputChannel.ExtraChatLinkshell3 => true,
|
||||
InputChannel.ExtraChatLinkshell4 => true,
|
||||
InputChannel.ExtraChatLinkshell5 => true,
|
||||
InputChannel.ExtraChatLinkshell6 => true,
|
||||
InputChannel.ExtraChatLinkshell7 => true,
|
||||
InputChannel.ExtraChatLinkshell8 => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
internal static bool IsValid(this InputChannel channel) => channel switch
|
||||
{
|
||||
InputChannel.Invalid => false,
|
||||
_ => true,
|
||||
};
|
||||
internal static bool IsValid(this InputChannel channel) =>
|
||||
channel switch
|
||||
{
|
||||
InputChannel.Invalid => false,
|
||||
_ => true,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user