diff --git a/CSSUniversalMenuAPI.sln b/CSSUniversalMenuAPI.sln index 8f17d2e..3ea0d81 100644 --- a/CSSUniversalMenuAPI.sln +++ b/CSSUniversalMenuAPI.sln @@ -44,6 +44,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalMenu.Compat.CSShar EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalMenu.Driver.MenuManagerApi", "src\UniversalMenu.Driver.MenuManagerApi\UniversalMenu.Driver.MenuManagerApi.csproj", "{FB832721-DCE2-4F62-A441-6C3E21A05317}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalMenu.Compat.CS2MenuManager", "src\UniversalMenu.Compat.CS2MenuManager\UniversalMenu.Compat.CS2MenuManager.csproj", "{3A6C4FF8-19C5-3573-83F2-D42C082AFE43}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalMenu.Compat.MenuManagerApi.Shared", "src\UniversalMenu.Compat.MenuManagerApi.Shared\UniversalMenu.Compat.MenuManagerApi.Shared.csproj", "{1F800E4F-6CE5-D7C2-D40F-355098E91612}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -82,6 +86,14 @@ Global {FB832721-DCE2-4F62-A441-6C3E21A05317}.Debug|Any CPU.Build.0 = Debug|Any CPU {FB832721-DCE2-4F62-A441-6C3E21A05317}.Release|Any CPU.ActiveCfg = Release|Any CPU {FB832721-DCE2-4F62-A441-6C3E21A05317}.Release|Any CPU.Build.0 = Release|Any CPU + {3A6C4FF8-19C5-3573-83F2-D42C082AFE43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3A6C4FF8-19C5-3573-83F2-D42C082AFE43}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3A6C4FF8-19C5-3573-83F2-D42C082AFE43}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3A6C4FF8-19C5-3573-83F2-D42C082AFE43}.Release|Any CPU.Build.0 = Release|Any CPU + {1F800E4F-6CE5-D7C2-D40F-355098E91612}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1F800E4F-6CE5-D7C2-D40F-355098E91612}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1F800E4F-6CE5-D7C2-D40F-355098E91612}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1F800E4F-6CE5-D7C2-D40F-355098E91612}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/package.sh b/package.sh index f5eb31b..776c3fb 100644 --- a/package.sh +++ b/package.sh @@ -40,6 +40,7 @@ commit_zip setup_zip UniversalMenu.Compat.MenuManagerApi copy_dir src/UniversalMenu.Compat.MenuManagerApi/bin/Release/net8.0/publish plugins/UniversalMenu.Compat.MenuManagerApi +copy_dir src/UniversalMenu.Compat.MenuManagerApi.Shared/bin/Release/net8.0/publish shared/MenuManagerApi commit_zip #setup_zip UniversalMenu.Compat.ScreenMenuAPI diff --git a/src/UniversalMenu.Compat.CS2MenuManager/NotSupported.cs b/src/UniversalMenu.Compat.CS2MenuManager/NotSupported.cs new file mode 100644 index 0000000..fb5597b --- /dev/null +++ b/src/UniversalMenu.Compat.CS2MenuManager/NotSupported.cs @@ -0,0 +1,742 @@ +// This file represents the unsupported or unimplemented shared public API of CS2MenuManager.dll +// that plugins link to. +// +// As you may be able to tell, the authors of CS2MenuManager did not separate the public API +// consumers (plugins) use and the internal API used by the CS2MenuManager project itself, +// causing the surface area to become quite large. Most of it does not need to be implemented, +// only the parts that plugins directly use. +// +// Methods that throw a NotImplementedException have yet to be implemented or triaged. +// Methods that throw NotSupportedException will never be implemented by this project and +// are provided only for binary compatibility. + +using System; +using System.Collections.Generic; +using System.Drawing; + +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Timers; +using CounterStrikeSharp.API.Modules.Utils; + +using CS2MenuManager.API.Class; +using CS2MenuManager.API.Enum; +using CS2MenuManager.API.Interface; + +namespace CS2MenuManager +{ + public static class ProjectInfo + { + public const string Version = "v37"; + public const string Author = "Ashleigh Adams"; + } +} + +namespace CS2MenuManager.API.Class +{ + public abstract class BaseMenu : IMenu + { + public string Title + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public List ItemOptions + { + get => throw new NotImplementedException(); + internal set => throw new NotImplementedException(); + } + public bool ExitButton + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public int MenuTime + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public IMenu? PrevMenu + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public BasePlugin Plugin + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public char ChatMenu_TitleColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public char ChatMenu_EnabledColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public char ChatMenu_DisabledColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public char ChatMenu_PrevPageColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public char ChatMenu_NextPageColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public char ChatMenu_ExitColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string CenterHtmlMenu_TitleColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string CenterHtmlMenu_EnabledColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string CenterHtmlMenu_DisabledColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string CenterHtmlMenu_PrevPageColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string CenterHtmlMenu_NextPageColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string CenterHtmlMenu_ExitColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public bool CenterHtmlMenu_InlinePageOptions + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public int CenterHtmlMenu_MaxTitleLength + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public int CenterHtmlMenu_MaxOptionLength + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_TitleColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_ScrollUpDownKeyColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_SelectKeyColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_PrevKeyColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_ExitKeyColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_SelectedOptionColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_OptionColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_DisabledOptionColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_ArrowColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public bool WasdMenu_FreezePlayer + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_ScrollUpKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_ScrollDownKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_SelectKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_PrevKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string WasdMenu_ExitKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public Color ScreenMenu_TextColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public Color ScreenMenu_DisabledTextColor + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string ScreenMenu_Font + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public int ScreenMenu_Size + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public bool ScreenMenu_FreezePlayer + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public bool ScreenMenu_ShowResolutionsOption + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string ScreenMenu_ScrollUpKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string ScreenMenu_ScrollDownKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string ScreenMenu_ExitKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public string ScreenMenu_SelectKey + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public MenuType ScreenMenu_MenuType + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + protected BaseMenu(string title, BasePlugin plugin) + { + throw new NotImplementedException(); + } + public virtual ItemOption AddItem(string display, Action onSelect, DisableOption disableOption = DisableOption.None) => throw new NotImplementedException(); + public virtual ItemOption AddItem(string display, DisableOption disableOption) => throw new NotImplementedException(); + public abstract void Display(CCSPlayerController player, int time); + public abstract void DisplayAt(CCSPlayerController player, int firstItem, int time); + public void DisplayToAll(int time) => throw new NotImplementedException(); + public void DisplayAtToAll(int firstItem, int time) => throw new NotImplementedException(); + } + + public abstract class BaseMenuInstance : IMenuInstance, IDisposable + { + public CCSPlayerController Player { get; } + public int Page => throw new NotImplementedException(); + public int CurrentOffset => throw new NotImplementedException(); + public virtual int NumPerPage => throw new NotImplementedException(); + protected virtual int MenuItemsPerPage => throw new NotImplementedException(); + public Stack PrevPageOffsets => throw new NotImplementedException(); + public IMenu Menu { get; } + protected bool HasPrevButton => throw new NotImplementedException(); + protected virtual bool HasNextButton => throw new NotImplementedException(); + protected bool HasExitButton => Menu.ExitButton; + protected BaseMenuInstance(CCSPlayerController player, IMenu menu) + { + Player = player; + Menu = menu; + } + public void NextPage() => throw new NotImplementedException(); + public void PrevPage() => throw new NotImplementedException(); + public virtual void Reset() => throw new NotImplementedException(); + public virtual void Close(bool exitSound) => throw new NotImplementedException(); + public virtual void Display() => throw new NotImplementedException(); + public virtual void OnKeyPress(CCSPlayerController player, int key) => throw new NotImplementedException(); + void IDisposable.Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + private void Dispose(bool disposing) => throw new NotImplementedException(); + } + + public abstract class BaseVote : IVoteMenu + { + public string Title { get; } + public string Details { get; } + public CCSPlayerController? VoteCaller { get; set; } + public BaseVoteInstance.YesNoVoteResult Result { get; } + public BaseVoteInstance.YesNoVoteHandler? Handler { get; } + public BasePlugin Plugin { get; } + public int VoteTime { get; protected set; } = 20; + + public BaseVote(string title, string details, BaseVoteInstance.YesNoVoteResult resultCallback, BaseVoteInstance.YesNoVoteHandler? handler, BasePlugin plugin) + { + Title = title; + Details = details; + Result = resultCallback; + Handler = handler; + Plugin = plugin; + } + + public abstract void DisplayVoteToAll(int time); + } + + public abstract class BaseVoteInstance : IVoteMenuInstance, IDisposable + { + public delegate void YesNoVoteHandler(YesNoVoteAction action, int param1, CastVote param2); + public delegate bool YesNoVoteResult(YesNoVoteInfo info); + IVoteMenu IVoteMenuInstance.VoteMenu => throw new NotImplementedException(); + public CVoteController VoteController => throw new NotImplementedException(); + public RecipientFilter CurrentVotefilter => throw new NotImplementedException(); + public Timer? Timer { get => throw new NotImplementedException(); protected set => throw new NotImplementedException(); } + public int VoteCount { get => throw new NotImplementedException(); protected set => throw new NotImplementedException(); } + public int VoterCount { get => throw new NotImplementedException(); protected set => throw new NotImplementedException(); } + public int[] Voters { get => throw new NotImplementedException(); protected set => throw new NotImplementedException(); } + protected BaseVoteInstance(List players, IVoteMenu menu) => throw new NotImplementedException(); + public virtual void Close() => throw new NotImplementedException(); + public virtual void Display() => throw new NotImplementedException(); + void IDisposable.Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + protected virtual void Dispose(bool disposing) => throw new NotImplementedException(); + } + + public static class Buttons + { + public static readonly IReadOnlyDictionary ButtonMapping = new Dictionary + { + ["Alt1"] = (PlayerButtons)16384, + ["Alt2"] = (PlayerButtons)32768, + ["Attack"] = (PlayerButtons)1, + ["Attack2"] = (PlayerButtons)2048, + ["Attack3"] = (PlayerButtons)16777216, + ["Bullrush"] = (PlayerButtons)2097152, + ["Cancel"] = (PlayerButtons)64, + ["Duck"] = (PlayerButtons)4, + ["Grenade1"] = (PlayerButtons)4194304, + ["Grenade2"] = (PlayerButtons)8388608, + ["Space"] = (PlayerButtons)2, + ["Left"] = (PlayerButtons)128, + ["W"] = (PlayerButtons)8, + ["A"] = (PlayerButtons)512, + ["S"] = (PlayerButtons)16, + ["D"] = (PlayerButtons)1024, + ["E"] = (PlayerButtons)32, + ["R"] = (PlayerButtons)8192, + ["F"] = (PlayerButtons)34359738368L, + ["Shift"] = (PlayerButtons)65536, + ["Right"] = (PlayerButtons)256, + ["Run"] = (PlayerButtons)4096, + ["Walk"] = (PlayerButtons)131072, + ["Weapon1"] = (PlayerButtons)524288, + ["Weapon2"] = (PlayerButtons)1048576, + ["Zoom"] = (PlayerButtons)262144, + ["Tab"] = (PlayerButtons)8589934592L, + }; + } + + public class ItemOption + { + public ItemOption(string display, DisableOption option, Action? onSelect) + { + Text = display; + DisableOption = option; + PostSelectAction = PostSelectAction.Nothing; + OnSelect = onSelect; + } + public string Text + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public DisableOption DisableOption + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public PostSelectAction PostSelectAction + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + public Action? OnSelect + { + get => throw new NotImplementedException(); + set => throw new NotImplementedException(); + } + } + + public static class MenuManager + { + public static readonly Dictionary MenuTypesList = new(); + public static IMenuInstance? GetActiveMenu(CCSPlayerController player) => throw new NotImplementedException(); + public static void CloseActiveMenu(CCSPlayerController player) => throw new NotImplementedException(); + public static void OpenMenu(CCSPlayerController player, TMenu menu, int? firstItem, Func createInstance) where TMenu : IMenu => throw new NotImplementedException(); + public static void OnKeyPress(CCSPlayerController player, int key) => throw new NotImplementedException(); + public static T CreateMenu(string title, BasePlugin plugin) where T : BaseMenu => (T)MenuByType(typeof(T), title, plugin); + public static BaseMenu MenuByType(Type menuType, string title, BasePlugin plugin) => throw new NotImplementedException(); + public static BaseMenu MenuByType(string menuType, string title, BasePlugin plugin) => throw new NotImplementedException(); + public static void ReloadConfig() => throw new NotImplementedException(); + } + + public static class MenuTypeManager + { + public static Type GetDefaultMenu() => throw new NotImplementedException(); + public static Type? GetPlayerMenuType(CCSPlayerController player) => throw new NotImplementedException(); + public static Type SetPlayerMenuType(CCSPlayerController player, Type menuType) => throw new NotImplementedException(); + public static void MenuTypeMenu(CCSPlayerController player, BasePlugin plugin, IMenu? prevMenu) where T : BaseMenu => throw new NotImplementedException(); + public static BaseMenu MenuTypeMenuByType(Type type, CCSPlayerController player, BasePlugin plugin, IMenu? prevMenu) => throw new NotImplementedException(); + public static BaseMenu MenuTypeMenuByType(string type, CCSPlayerController player, BasePlugin plugin, IMenu? prevMenu) => throw new NotImplementedException(); + public static void AddMenuTypeMenuItems(BaseMenu menu, IMenu? prevMenu) => throw new NotImplementedException(); + } + + + public static class ResolutionManager + { + public class Resolution + { + public float PositionX; + public float PositionY; + } + public static Resolution GetDefaultResolution() => throw new NotImplementedException(); + public static Resolution GetPlayerResolution(CCSPlayerController player) => throw new NotImplementedException(); + public static void SetPlayerResolution(CCSPlayerController player, Resolution resolution) => throw new NotImplementedException(); + public static T ResolutionMenu(CCSPlayerController player, BasePlugin plugin, IMenu? prevMenu) where T : BaseMenu => throw new NotImplementedException(); + public static BaseMenu ResolutionMenuByType(Type type, CCSPlayerController player, BasePlugin plugin, IMenu? prevMenu) => throw new NotImplementedException(); + public static BaseMenu ResolutionMenuByType(string type, CCSPlayerController player, BasePlugin plugin, IMenu? prevMenu) => throw new NotImplementedException(); + } + + public static class VoteManager + { + public static bool IsVoteActive => throw new NotImplementedException(); + public static void CancelActiveVote() => throw new NotImplementedException(); + public static void OpenVoteMenu(List players, TMenu menu, Func, TMenu, IVoteMenuInstance> createInstance) where TMenu : IVoteMenu => throw new NotImplementedException(); + } + + public class YesNoVoteInfo + { + public int TotalVotes; + public int YesVotes; + public int NoVotes; + public int TotalClients; + public Dictionary ClientInfo = new(); + } +} + +namespace CS2MenuManager.API.Enum +{ + public enum CastVote + { + VOTE_NOTINCLUDED = -1, + VOTE_OPTION1, + VOTE_OPTION2, + VOTE_OPTION3, + VOTE_OPTION4, + VOTE_OPTION5, + VOTE_UNCAST + } + + public enum DisableOption + { + None, + DisableShowNumber, + DisableHideNumber + } + + public enum MenuType + { + Scrollable, + KeyPress, + Both + } + + public enum PostSelectAction + { + Close, + Reset, + Nothing + } + + public enum YesNoVoteAction + { + VoteAction_Start, + VoteAction_Vote, + VoteAction_End + } + public enum YesNoVoteEndReason + { + VoteEnd_AllVotes, + VoteEnd_TimeUp, + VoteEnd_Cancelled + } +} + +namespace CS2MenuManager.API.Interface +{ + public interface IMenu + { + string Title { get; set; } + List ItemOptions { get; } + bool ExitButton { get; set; } + int MenuTime { get; set; } + IMenu? PrevMenu { get; set; } + BasePlugin Plugin { get; } + ItemOption AddItem(string display, Action onSelect, DisableOption disableOption = DisableOption.None); + ItemOption AddItem(string display, DisableOption disableOption); + void Display(CCSPlayerController player, int time); + void DisplayAt(CCSPlayerController player, int firstItem, int time); + void DisplayToAll(int time); + void DisplayAtToAll(int firstItem, int time); + } + public interface IMenuInstance : IDisposable + { + CCSPlayerController Player { get; } + int Page { get; } + int CurrentOffset { get; } + int NumPerPage { get; } + Stack PrevPageOffsets { get; } + IMenu Menu { get; } + void NextPage(); + void PrevPage(); + void Reset(); + void Close(bool exitSound); + void Display(); + void OnKeyPress(CCSPlayerController player, int key); + } + + public interface IVoteMenu + { + string Title { get; } + string Details { get; } + CCSPlayerController? VoteCaller { get; } + BaseVoteInstance.YesNoVoteResult Result { get; } + BaseVoteInstance.YesNoVoteHandler? Handler { get; } + BasePlugin Plugin { get; } + int VoteTime { get; } + void DisplayVoteToAll(int time); + } + + public interface IVoteMenuInstance : IDisposable + { + IVoteMenu VoteMenu { get; } + CVoteController? VoteController { get; } + RecipientFilter CurrentVotefilter { get; } + Timer? Timer { get; } + int VoteCount { get; } + int VoterCount { get; } + int[] Voters { get; } + void Close(); + void Display(); + } +} + +namespace CS2MenuManager.API.Menu +{ + public class CenterHtmlMenu : BaseMenu + { + public CenterHtmlMenu(string title, BasePlugin plugin) : base(title, plugin) + { + throw new NotImplementedException(); + } + + public override void Display(CCSPlayerController player, int time) => throw new NotImplementedException(); + + public override void DisplayAt(CCSPlayerController player, int firstItem, int time) => throw new NotImplementedException(); + } + + public class CenterHtmlMenuInstance : BaseMenuInstance + { + public override int NumPerPage => throw new NotImplementedException(); + protected override int MenuItemsPerPage => throw new NotImplementedException(); + protected override bool HasNextButton => throw new NotImplementedException(); + public CenterHtmlMenuInstance(CCSPlayerController player, IMenu menu) : + base(player, menu) + { + throw new NotImplementedException(); + } + public override void Display() => throw new NotImplementedException(); + public override void Close(bool exitSound) => throw new NotImplementedException(); + } + public class ChatMenu : BaseMenu + { + public ChatMenu(string title, BasePlugin plugin) : + base(title, plugin) + { + } + + public override void Display(CCSPlayerController player, int time) => throw new NotImplementedException(); + public override void DisplayAt(CCSPlayerController player, int firstItem, int time) => throw new NotImplementedException(); + } + public class ChatMenuInstance : BaseMenuInstance + { + public ChatMenuInstance(CCSPlayerController player, ChatMenu menu) : + base(player, menu) + { + } + public override void Display() => throw new NotImplementedException(); + } + + public class ConsoleMenu : BaseMenu + { + public ConsoleMenu(string title, BasePlugin plugin) : + base(title, plugin) + { + } + public override void Display(CCSPlayerController player, int time) => throw new NotImplementedException(); + public override void DisplayAt(CCSPlayerController player, int firstItem, int time) => throw new NotImplementedException(); + } + + public class ConsoleMenuInstance : BaseMenuInstance + { + public ConsoleMenuInstance(CCSPlayerController player, IMenu menu) : + base(player, menu) + { + } + public override void Display() => throw new NotImplementedException(); + } + + public class PanoramaVote : BaseVote + { + public PanoramaVote( + string title, + string details, + BaseVoteInstance.YesNoVoteResult resultCallback, + BaseVoteInstance.YesNoVoteHandler? handler, + BasePlugin plugin + ) : base( + title, + details, + resultCallback, + handler, + plugin) + { + } + public override void DisplayVoteToAll(int time) => throw new NotImplementedException(); + } + + public class PanoramaVoteInstance : BaseVoteInstance + { + public PanoramaVoteInstance(List players, PanoramaVote menu) : + base(players, menu) + { + } + public override void Close() => throw new NotImplementedException(); + public override void Display() => throw new NotImplementedException(); + + } + + public class PlayerMenu : BaseMenu + { + public PlayerMenu(string title, BasePlugin plugin) : + base(title, plugin) + { + } + public override void Display(CCSPlayerController player, int time) => throw new NotImplementedException(); + public override void DisplayAt(CCSPlayerController player, int firstItem, int time) => throw new NotImplementedException(); + } + + public class ScreenMenu : BaseMenu + { + public ScreenMenu(string title, BasePlugin plugin) : + base(title, plugin) + { + } + public override void Display(CCSPlayerController player, int time) => throw new NotImplementedException(); + public override void DisplayAt(CCSPlayerController player, int firstItem, int time) => throw new NotImplementedException(); + } + + public class ScreenMenuInstance : BaseMenuInstance + { + public override int NumPerPage => throw new NotImplementedException(); + public ScreenMenuInstance(CCSPlayerController player, IMenu menu) : + base(player, menu) + { + } + public override void Display() => throw new NotImplementedException(); + public override void Close(bool exitSound) => throw new NotImplementedException(); + public override void OnKeyPress(CCSPlayerController player, int key) => throw new NotImplementedException(); + } + + public class WasdMenu : BaseMenu + { + public WasdMenu(string title, BasePlugin plugin) : + base(title, plugin) + { + } + public override void Display(CCSPlayerController player, int time) => throw new NotImplementedException(); + public override void DisplayAt(CCSPlayerController player, int firstItem, int time) => throw new NotImplementedException(); + } + + public class WasdMenuInstance : BaseMenuInstance + { + public string DisplayString => throw new NotImplementedException(); + public override int NumPerPage => throw new NotImplementedException(); + public WasdMenuInstance(CCSPlayerController player, IMenu menu) : + base(player, menu) + { + } + public override void Display() => throw new NotImplementedException(); + public override void Close(bool exitSound) => throw new NotImplementedException(); + public void OnTick() => throw new NotImplementedException(); + public void Choose() => throw new NotImplementedException(); + public void ScrollDown() => throw new NotImplementedException(); + public void ScrollUp() => throw new NotImplementedException(); + } +} diff --git a/src/UniversalMenu.Compat.CS2MenuManager/UniversalMenu.Compat.CS2MenuManager.csproj b/src/UniversalMenu.Compat.CS2MenuManager/UniversalMenu.Compat.CS2MenuManager.csproj new file mode 100644 index 0000000..74c9ead --- /dev/null +++ b/src/UniversalMenu.Compat.CS2MenuManager/UniversalMenu.Compat.CS2MenuManager.csproj @@ -0,0 +1,16 @@ + + + + CS2MenuManager + CS2MenuManager + Library + 1.0.37 + + + + + False + False + + + diff --git a/src/UniversalMenu.Compat.MenuManagerApi.Shared/IMenuApi.cs b/src/UniversalMenu.Compat.MenuManagerApi.Shared/IMenuApi.cs new file mode 100644 index 0000000..615c937 --- /dev/null +++ b/src/UniversalMenu.Compat.MenuManagerApi.Shared/IMenuApi.cs @@ -0,0 +1,32 @@ +using System; + +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Menu; + +namespace MenuManager; + +public enum MenuType +{ + Default = -1, + ChatMenu, + ConsoleMenu, + CenterMenu, + ButtonMenu, + MetamodMenu, +} + +// note: the parameter names have been changed to follow C# naming conventions, and added nullbility annotations. +// this is safe as this should only link to already-compiled code (excluding CSSUniversalMenuApi), +// and thus only needs to retain binary compatibility and not source compatibility. +public interface IMenuApi +{ + IMenu GetMenu(string title, Action? backAction = null, Action? resetAction = null); + [Obsolete] + IMenu NewMenu(string title, Action? backAction = null); + IMenu GetMenuForcetype(string title, MenuType type, Action? backAction = null, Action? resetAction = null); + [Obsolete] + IMenu NewMenuForcetype(string title, MenuType type, Action? backAction = null); + void CloseMenu(CCSPlayerController player); + MenuType GetMenuType(CCSPlayerController player); + bool HasOpenedMenu(CCSPlayerController player); +} diff --git a/src/UniversalMenu.Compat.MenuManagerApi.Shared/UniversalMenu.Compat.MenuManagerApi.Shared.csproj b/src/UniversalMenu.Compat.MenuManagerApi.Shared/UniversalMenu.Compat.MenuManagerApi.Shared.csproj new file mode 100644 index 0000000..3342bb0 --- /dev/null +++ b/src/UniversalMenu.Compat.MenuManagerApi.Shared/UniversalMenu.Compat.MenuManagerApi.Shared.csproj @@ -0,0 +1,14 @@ + + + + Library + MenuManagerApi + MenuManagerApi + 1.4.1 + + + + + + + diff --git a/src/UniversalMenu.Compat.MenuManagerApi/MenuManagerTranslator.cs b/src/UniversalMenu.Compat.MenuManagerApi/MenuManagerTranslator.cs index 681ed16..807bc92 100644 --- a/src/UniversalMenu.Compat.MenuManagerApi/MenuManagerTranslator.cs +++ b/src/UniversalMenu.Compat.MenuManagerApi/MenuManagerTranslator.cs @@ -49,14 +49,14 @@ void IMenuManagerAPI.CloseMenu(CCSPlayerController player) state.ActiveMenu = null; } - ICssMenu IMenuManagerAPI.GetMenu(string title, Action back_action, Action reset_action) + ICssMenu IMenuManagerAPI.GetMenu(string title, Action? backAction, Action? resetAction) { - return new MenuInstanceTranslator(title, this, back_action, reset_action, MenuManagerMenuType.Default); + return new MenuInstanceTranslator(title, this, backAction, resetAction, MenuManagerMenuType.Default); } - ICssMenu IMenuManagerAPI.GetMenuForcetype(string title, MenuManagerMenuType type, Action back_action, Action reset_action) + ICssMenu IMenuManagerAPI.GetMenuForcetype(string title, MenuManagerMenuType type, Action? backAction, Action? resetAction) { - return new MenuInstanceTranslator(title, this, back_action, reset_action, type); + return new MenuInstanceTranslator(title, this, backAction, resetAction, type); } MenuManagerMenuType IMenuManagerAPI.GetMenuType(CCSPlayerController player) @@ -69,14 +69,14 @@ bool IMenuManagerAPI.HasOpenedMenu(CCSPlayerController player) return CSSUniversalMenuAPI.UniversalMenu.DefaultDriver?.IsMenuOpen(player) ?? false; } - ICssMenu IMenuManagerAPI.NewMenu(string title, Action back_action) + ICssMenu IMenuManagerAPI.NewMenu(string title, Action? backAction) { - return new MenuInstanceTranslator(title, this, back_action, null, MenuManagerMenuType.Default); + return new MenuInstanceTranslator(title, this, backAction, null, MenuManagerMenuType.Default); } - ICssMenu IMenuManagerAPI.NewMenuForcetype(string title, MenuManagerMenuType type, Action back_action) + ICssMenu IMenuManagerAPI.NewMenuForcetype(string title, MenuManagerMenuType type, Action? backAction) { - return new MenuInstanceTranslator(title, this, back_action, null, type); + return new MenuInstanceTranslator(title, this, backAction, null, type); } } diff --git a/src/UniversalMenu.Compat.MenuManagerApi/UniversalMenu.Compat.MenuManagerApi.csproj b/src/UniversalMenu.Compat.MenuManagerApi/UniversalMenu.Compat.MenuManagerApi.csproj index 0760fa1..245803a 100644 --- a/src/UniversalMenu.Compat.MenuManagerApi/UniversalMenu.Compat.MenuManagerApi.csproj +++ b/src/UniversalMenu.Compat.MenuManagerApi/UniversalMenu.Compat.MenuManagerApi.csproj @@ -14,10 +14,10 @@ False - - false - ..\..\thirdparty\MenuManagerApi\MenuManagerApi.dll - + + False + False + diff --git a/src/UniversalMenu.Driver.MenuManagerApi/MenuManagerApiDriver.cs b/src/UniversalMenu.Driver.MenuManagerApi/MenuManagerApiDriver.cs index a062960..60c48b2 100644 --- a/src/UniversalMenu.Driver.MenuManagerApi/MenuManagerApiDriver.cs +++ b/src/UniversalMenu.Driver.MenuManagerApi/MenuManagerApiDriver.cs @@ -130,7 +130,7 @@ void IMenu.Display() if (NavigateBack is not null) navBack = (player) => NavigateBack(this); - TheMenu = MenuAPI.MenuManagerApi.GetMenu(Title, back_action: navBack!); + TheMenu = MenuAPI.MenuManagerApi.GetMenu(Title, backAction: navBack!); foreach (var item in MenuItems) TheMenu.AddMenuOption(item.Title, (player, option) => item.RaiseSelected(), !item.Enabled); diff --git a/src/UniversalMenu.Driver.MenuManagerApi/UniversalMenu.Driver.MenuManagerApi.csproj b/src/UniversalMenu.Driver.MenuManagerApi/UniversalMenu.Driver.MenuManagerApi.csproj index f86753e..04e7876 100644 --- a/src/UniversalMenu.Driver.MenuManagerApi/UniversalMenu.Driver.MenuManagerApi.csproj +++ b/src/UniversalMenu.Driver.MenuManagerApi/UniversalMenu.Driver.MenuManagerApi.csproj @@ -10,10 +10,10 @@ False - - false - ..\..\thirdparty\MenuManagerApi\MenuManagerApi.dll - + + False + False + diff --git a/thirdparty/MenuManagerApi/MenuManagerApi.deps.json b/thirdparty/MenuManagerApi/MenuManagerApi.deps.json deleted file mode 100644 index 9df78e1..0000000 --- a/thirdparty/MenuManagerApi/MenuManagerApi.deps.json +++ /dev/null @@ -1,872 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v8.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v8.0": { - "MenuManagerApi/1.0.0": { - "dependencies": { - "CounterStrikeSharp.API": "1.0.228" - }, - "runtime": { - "MenuManagerApi.dll": {} - } - }, - "CounterStrikeSharp.API/1.0.228": { - "dependencies": { - "McMaster.NETCore.Plugins": "1.4.0", - "Microsoft.CSharp": "4.7.0", - "Microsoft.DotNet.ApiCompat.Task": "8.0.203", - "Microsoft.Extensions.Hosting": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Localization.Abstractions": "8.0.3", - "Microsoft.Extensions.Logging": "8.0.0", - "Scrutor": "4.2.2", - "Serilog.Extensions.Logging": "8.0.0", - "Serilog.Sinks.Console": "5.0.0", - "Serilog.Sinks.File": "5.0.0", - "System.Data.DataSetExtensions": "4.5.0" - }, - "runtime": { - "lib/net8.0/CounterStrikeSharp.API.dll": { - "assemblyVersion": "1.0.228.0", - "fileVersion": "1.0.228.0" - } - } - }, - "McMaster.NETCore.Plugins/1.4.0": { - "dependencies": { - "Microsoft.DotNet.PlatformAbstractions": "3.1.6", - "Microsoft.Extensions.DependencyModel": "6.0.0" - }, - "runtime": { - "lib/netcoreapp3.1/McMaster.NETCore.Plugins.dll": { - "assemblyVersion": "1.4.0.0", - "fileVersion": "1.4.0.0" - } - } - }, - "Microsoft.CSharp/4.7.0": {}, - "Microsoft.DotNet.ApiCompat.Task/8.0.203": {}, - "Microsoft.DotNet.PlatformAbstractions/3.1.6": { - "runtime": { - "lib/netstandard2.0/Microsoft.DotNet.PlatformAbstractions.dll": { - "assemblyVersion": "3.1.6.0", - "fileVersion": "3.100.620.31604" - } - } - }, - "Microsoft.Extensions.Configuration/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.Binder/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.Json/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "System.Text.Json": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.DependencyInjection/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.DependencyModel/6.0.0": { - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "8.0.0", - "System.Text.Json": "8.0.0" - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "Microsoft.Extensions.Diagnostics/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.DiagnosticSource": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.FileProviders.Physical/8.0.0": { - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Hosting/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Logging.Console": "8.0.0", - "Microsoft.Extensions.Logging.Debug": "8.0.0", - "Microsoft.Extensions.Logging.EventLog": "8.0.0", - "Microsoft.Extensions.Logging.EventSource": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Hosting.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Localization.Abstractions/8.0.3": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.Localization.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.324.11615" - } - } - }, - "Microsoft.Extensions.Logging/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Logging.Abstractions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Logging.Configuration/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Logging.Console/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Text.Json": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Logging.Debug/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Logging.EventLog/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.EventLog": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Logging.EventSource/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0", - "System.Text.Json": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Options/8.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Options.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "runtime": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "Scrutor/4.2.2": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyModel": "6.0.0" - }, - "runtime": { - "lib/net6.0/Scrutor.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "4.0.0.0" - } - } - }, - "Serilog/3.1.1": { - "runtime": { - "lib/net7.0/Serilog.dll": { - "assemblyVersion": "2.0.0.0", - "fileVersion": "3.1.1.0" - } - } - }, - "Serilog.Extensions.Logging/8.0.0": { - "dependencies": { - "Microsoft.Extensions.Logging": "8.0.0", - "Serilog": "3.1.1" - }, - "runtime": { - "lib/net8.0/Serilog.Extensions.Logging.dll": { - "assemblyVersion": "7.0.0.0", - "fileVersion": "8.0.0.0" - } - } - }, - "Serilog.Sinks.Console/5.0.0": { - "dependencies": { - "Serilog": "3.1.1" - }, - "runtime": { - "lib/net7.0/Serilog.Sinks.Console.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.0.0" - } - } - }, - "Serilog.Sinks.File/5.0.0": { - "dependencies": { - "Serilog": "3.1.1" - }, - "runtime": { - "lib/net5.0/Serilog.Sinks.File.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.0.0" - } - } - }, - "System.Buffers/4.5.1": {}, - "System.Data.DataSetExtensions/4.5.0": {}, - "System.Diagnostics.DiagnosticSource/8.0.0": {}, - "System.Diagnostics.EventLog/8.0.0": { - "runtime": { - "lib/net8.0/System.Diagnostics.EventLog.dll": { - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - }, - "runtimeTargets": { - "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { - "rid": "win", - "assetType": "runtime", - "assemblyVersion": "8.0.0.0", - "fileVersion": "0.0.0.0" - }, - "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { - "rid": "win", - "assetType": "runtime", - "assemblyVersion": "8.0.0.0", - "fileVersion": "8.0.23.53103" - } - } - }, - "System.Memory/4.5.4": {}, - "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, - "System.Text.Encodings.Web/8.0.0": {}, - "System.Text.Json/8.0.0": { - "dependencies": { - "System.Text.Encodings.Web": "8.0.0" - } - } - } - }, - "libraries": { - "MenuManagerApi/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "CounterStrikeSharp.API/1.0.228": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oJWeMCJt/uQZEOXucgugu3u+QBYBqxzONf/rHjBetIZCeqgUMilo3s10GgyRMhHBDS0nBO5POUcg6K96aTxwLg==", - "path": "counterstrikesharp.api/1.0.228", - "hashPath": "counterstrikesharp.api.1.0.228.nupkg.sha512" - }, - "McMaster.NETCore.Plugins/1.4.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UKw5Z2/QHhkR7kiAJmqdCwVDMQV0lwsfj10+FG676r8DsJWIpxtachtEjE0qBs9WoK5GUQIqxgyFeYUSwuPszg==", - "path": "mcmaster.netcore.plugins/1.4.0", - "hashPath": "mcmaster.netcore.plugins.1.4.0.nupkg.sha512" - }, - "Microsoft.CSharp/4.7.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", - "path": "microsoft.csharp/4.7.0", - "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" - }, - "Microsoft.DotNet.ApiCompat.Task/8.0.203": { - "type": "package", - "serviceable": true, - "sha512": "sha512-nPEGMojf1mj1oVixe0aiBimSn6xUoZswSjpMPZFMkZ+znYm2GEM5tWGZEWb6OSNIo5gWKyDi1WcI4IL7YiL1Zw==", - "path": "microsoft.dotnet.apicompat.task/8.0.203", - "hashPath": "microsoft.dotnet.apicompat.task.8.0.203.nupkg.sha512" - }, - "Microsoft.DotNet.PlatformAbstractions/3.1.6": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg==", - "path": "microsoft.dotnet.platformabstractions/3.1.6", - "hashPath": "microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", - "path": "microsoft.extensions.configuration/8.0.0", - "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", - "path": "microsoft.extensions.configuration.abstractions/8.0.0", - "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Binder/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", - "path": "microsoft.extensions.configuration.binder/8.0.0", - "hashPath": "microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", - "path": "microsoft.extensions.configuration.commandline/8.0.0", - "hashPath": "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", - "path": "microsoft.extensions.configuration.environmentvariables/8.0.0", - "hashPath": "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", - "path": "microsoft.extensions.configuration.fileextensions/8.0.0", - "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Json/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", - "path": "microsoft.extensions.configuration.json/8.0.0", - "hashPath": "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", - "path": "microsoft.extensions.configuration.usersecrets/8.0.0", - "hashPath": "microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", - "path": "microsoft.extensions.dependencyinjection/8.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", - "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyModel/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", - "path": "microsoft.extensions.dependencymodel/6.0.0", - "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Diagnostics/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", - "path": "microsoft.extensions.diagnostics/8.0.0", - "hashPath": "microsoft.extensions.diagnostics.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", - "path": "microsoft.extensions.diagnostics.abstractions/8.0.0", - "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", - "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", - "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.FileProviders.Physical/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", - "path": "microsoft.extensions.fileproviders.physical/8.0.0", - "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", - "path": "microsoft.extensions.filesystemglobbing/8.0.0", - "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Hosting/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", - "path": "microsoft.extensions.hosting/8.0.0", - "hashPath": "microsoft.extensions.hosting.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", - "path": "microsoft.extensions.hosting.abstractions/8.0.0", - "hashPath": "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Localization.Abstractions/8.0.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-k/kUPm1FQBxcs9/vsM1eF4qIOg2Sovqh/+KUGHur5Mc0Y3OFGuoz9ktBX7LA0gPz53SZhW3W3oaSaMFFcjgM6Q==", - "path": "microsoft.extensions.localization.abstractions/8.0.3", - "hashPath": "microsoft.extensions.localization.abstractions.8.0.3.nupkg.sha512" - }, - "Microsoft.Extensions.Logging/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", - "path": "microsoft.extensions.logging/8.0.0", - "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Abstractions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", - "path": "microsoft.extensions.logging.abstractions/8.0.0", - "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Configuration/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", - "path": "microsoft.extensions.logging.configuration/8.0.0", - "hashPath": "microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Console/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", - "path": "microsoft.extensions.logging.console/8.0.0", - "hashPath": "microsoft.extensions.logging.console.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Debug/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", - "path": "microsoft.extensions.logging.debug/8.0.0", - "hashPath": "microsoft.extensions.logging.debug.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.EventLog/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", - "path": "microsoft.extensions.logging.eventlog/8.0.0", - "hashPath": "microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.EventSource/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", - "path": "microsoft.extensions.logging.eventsource/8.0.0", - "hashPath": "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Options/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", - "path": "microsoft.extensions.options/8.0.0", - "hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", - "path": "microsoft.extensions.options.configurationextensions/8.0.0", - "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", - "path": "microsoft.extensions.primitives/8.0.0", - "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" - }, - "Scrutor/4.2.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-t5VIYA7WJXoJJo7s4DoHakMGwTu+MeEnZumMOhTCH7kz9xWha24G7dJNxWrHPlu0ZdZAS4jDZCxxAnyaBh7uYw==", - "path": "scrutor/4.2.2", - "hashPath": "scrutor.4.2.2.nupkg.sha512" - }, - "Serilog/3.1.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P6G4/4Kt9bT635bhuwdXlJ2SCqqn2nhh4gqFqQueCOr9bK/e7W9ll/IoX1Ter948cV2Z/5+5v8pAfJYUISY03A==", - "path": "serilog/3.1.1", - "hashPath": "serilog.3.1.1.nupkg.sha512" - }, - "Serilog.Extensions.Logging/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", - "path": "serilog.extensions.logging/8.0.0", - "hashPath": "serilog.extensions.logging.8.0.0.nupkg.sha512" - }, - "Serilog.Sinks.Console/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IZ6bn79k+3SRXOBpwSOClUHikSkp2toGPCZ0teUkscv4dpDg9E2R2xVsNkLmwddE4OpNVO3N0xiYsAH556vN8Q==", - "path": "serilog.sinks.console/5.0.0", - "hashPath": "serilog.sinks.console.5.0.0.nupkg.sha512" - }, - "Serilog.Sinks.File/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", - "path": "serilog.sinks.file/5.0.0", - "hashPath": "serilog.sinks.file.5.0.0.nupkg.sha512" - }, - "System.Buffers/4.5.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", - "path": "system.buffers/4.5.1", - "hashPath": "system.buffers.4.5.1.nupkg.sha512" - }, - "System.Data.DataSetExtensions/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==", - "path": "system.data.datasetextensions/4.5.0", - "hashPath": "system.data.datasetextensions.4.5.0.nupkg.sha512" - }, - "System.Diagnostics.DiagnosticSource/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", - "path": "system.diagnostics.diagnosticsource/8.0.0", - "hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512" - }, - "System.Diagnostics.EventLog/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==", - "path": "system.diagnostics.eventlog/8.0.0", - "hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512" - }, - "System.Memory/4.5.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", - "path": "system.memory/4.5.4", - "hashPath": "system.memory.4.5.4.nupkg.sha512" - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", - "path": "system.runtime.compilerservices.unsafe/6.0.0", - "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" - }, - "System.Text.Encodings.Web/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", - "path": "system.text.encodings.web/8.0.0", - "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512" - }, - "System.Text.Json/8.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", - "path": "system.text.json/8.0.0", - "hashPath": "system.text.json.8.0.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/thirdparty/MenuManagerApi/MenuManagerApi.dll b/thirdparty/MenuManagerApi/MenuManagerApi.dll deleted file mode 100644 index 877525d..0000000 Binary files a/thirdparty/MenuManagerApi/MenuManagerApi.dll and /dev/null differ diff --git a/thirdparty/MenuManagerApi/MenuManagerApi.pdb b/thirdparty/MenuManagerApi/MenuManagerApi.pdb deleted file mode 100644 index 9e565fd..0000000 Binary files a/thirdparty/MenuManagerApi/MenuManagerApi.pdb and /dev/null differ