From 28a77f96cb2add2de61c1d3ccf457f315085a316 Mon Sep 17 00:00:00 2001 From: Atony <75191600+AtonyGit@users.noreply.github.com> Date: Thu, 27 Aug 2026 18:21:14 -0500 Subject: [PATCH] Fix capitalization of all xml strings --- MiraAPI/GameModes/ClassicMode.cs | 4 +- MiraAPI/GameModes/GameModeOption.cs | 2 +- MiraAPI/GameModes/HideAndSeekMode.cs | 4 +- MiraAPI/MiraApiSettings.cs | 24 +++--- MiraAPI/Patches/Freeplay/TaskAdderPatches.cs | 39 ++++------ MiraAPI/Patches/GameModes/HudPatches.cs | 2 +- MiraAPI/Patches/HudManagerPatches.cs | 16 ++-- .../Patches/Options/GameOptionsMenuPatch.cs | 6 +- .../Patches/Options/GamePresetsTabPatches.cs | 4 +- .../Patches/Options/LobbyViewPanePatches.cs | 4 +- MiraAPI/Patches/Options/MenuState.cs | 6 +- .../Patches/Options/RoleSettingMenuPatches.cs | 6 +- MiraAPI/Resources/Locale/en_US.xml | 76 +++++++++---------- MiraAPI/Resources/Locale/zh_CN.xml | 42 +++++----- MiraAPI/Roles/ICustomRole.cs | 8 +- MiraAPI/Roles/RoleOptionsGroup.cs | 6 +- 16 files changed, 117 insertions(+), 132 deletions(-) diff --git a/MiraAPI/GameModes/ClassicMode.cs b/MiraAPI/GameModes/ClassicMode.cs index 6a8ea1d..3da9a23 100644 --- a/MiraAPI/GameModes/ClassicMode.cs +++ b/MiraAPI/GameModes/ClassicMode.cs @@ -11,10 +11,10 @@ namespace MiraAPI.GameModes; public class ClassicMode : AbstractGameMode { /// - public override string Name => "gamemode.classic"; + public override string Name => "MiraApi.Gamemode.Classic"; /// - public override string Description => "gamemode.classic.description"; + public override string Description => "MiraApi.Gamemode.Classic.Description"; public override LoadableAsset? Icon => MiraAssets.ClassicGamemodeIcon; } diff --git a/MiraAPI/GameModes/GameModeOption.cs b/MiraAPI/GameModes/GameModeOption.cs index 792eabd..3e0d2f7 100644 --- a/MiraAPI/GameModes/GameModeOption.cs +++ b/MiraAPI/GameModes/GameModeOption.cs @@ -53,7 +53,7 @@ public static class GameModeOption internal static readonly StringNames CustomName = MiraLocaleManager.GetOrCreateLocaleString("Custom"); internal static readonly Dictionary Values = new() { - [0] = MiraLocaleManager.GetOrCreateLocaleString("gamemode.classic"), + [0] = MiraLocaleManager.GetOrCreateLocaleString("MiraApi.Gamemode.Classic"), }; internal static void AddOption(AbstractGameMode mode) diff --git a/MiraAPI/GameModes/HideAndSeekMode.cs b/MiraAPI/GameModes/HideAndSeekMode.cs index e30ab9b..cd99eae 100644 --- a/MiraAPI/GameModes/HideAndSeekMode.cs +++ b/MiraAPI/GameModes/HideAndSeekMode.cs @@ -25,10 +25,10 @@ namespace MiraAPI.GameModes; public class HideAndSeekMode : AbstractGameMode { /// - public override string Name => "gamemode.hidenseek"; + public override string Name => "MiraApi.Gamemode.HideAndSeek"; /// - public override string Description => "gamemode.hidenseek.description"; + public override string Description => "MiraApi.Gamemode.HideAndSeek.Description"; // TODO: Once the Hide n Seek port is ready for release, we will remove this. public override bool HideMode => !MiraApiPlugin.IsDevBuild; diff --git a/MiraAPI/MiraApiSettings.cs b/MiraAPI/MiraApiSettings.cs index 955be0e..9999f15 100644 --- a/MiraAPI/MiraApiSettings.cs +++ b/MiraAPI/MiraApiSettings.cs @@ -17,7 +17,7 @@ namespace MiraAPI; public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config) { /// - public override string TabName => "miraApi"; + public override string TabName => "MiraApi"; /// public override LocalSettingTabAppearance TabAppearance => new() @@ -210,53 +210,47 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config) /// [LocalSliderSetting(min: 0.5f, max: 1.5f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)] public ConfigEntry ButtonUIFactorSlider { get; private set; } = - config.Bind("miraApi.visualsUi", "miraApi.buttonScaleFactor", 0.75f); + config.Bind("MiraApi.VisualsUi", "MiraApi.ButtonScaleFactor", 0.75f); /// /// Gets the scale of the UI buttons. /// [LocalSliderSetting(min: 0.3f, max: 2f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)] public ConfigEntry TopRightButtonsFactorSlider { get; private set; } = - config.Bind("miraApi.visualsUi", "miraApi.topRightButtonScaleFactor", 1f); + config.Bind("MiraApi.VisualsUi", "MiraApi.TopRightButtonScaleFactor", 1f); /// /// Gets the fps specified by the player. /// [LocalSliderSetting(min: 60f, max: 240f, suffixType: MiraNumberSuffixes.None, formatString: "0", displayValue: true, roundValue: true)] public ConfigEntry SetFpsSlider { get; private set; } = - config.Bind("miraApi.visualsUi", "Max FPS", 120f); + config.Bind("MiraApi.VisualsUi", "Max FPS", 120f); /// /// Gets whether the modifiers hud should be on the left side of the screen (under roles/task tab). Recommended for streamers. /// [LocalToggleSetting] - public ConfigEntry ModifiersHudLeftSide { get; private set; } = config.Bind("miraApi.visualsUi", "miraApi.showModifiersHudOnLeftSide", false); + public ConfigEntry ModifiersHudLeftSide { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.ShowModifiersHudOnLeftSide", false); /// /// Gets whether to show keybinds on buttons. /// [LocalToggleSetting] - public ConfigEntry ShowKeybinds { get; private set; } = config.Bind("miraApi.visualsUi", "miraApi.showKeybindsOnButtons", true); + public ConfigEntry ShowKeybinds { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.ShowKeybindsOnButtons", true); [LocalToggleSetting] public ConfigEntry WikiOnBottomRow { get; private set; } = - config.Bind("miraApi.visualsUi", "miraApi.wikiOnBottomRow", true); - - /// - /// Gets whether to apply cosmetic changes to the TaskAdder. - /// - [LocalToggleSetting] - public ConfigEntry PrettyTaskAdder { get; private set; } = config.Bind("miraApi.freeplay", "miraApi.prettyTaskLaptop", true); + config.Bind("MiraApi.VisualsUi", "MiraApi.WikiOnBottomRow", true); /// /// Gets whether to show the red flash from sabotages. /// [LocalToggleSetting] - public ConfigEntry EnableSabotageFlashes { get; private set; } = config.Bind("miraApi.accessibility", "miraApi.enableSabotageFlashes", true); + public ConfigEntry EnableSabotageFlashes { get; private set; } = config.Bind("MiraApi.Accessibility", "MiraApi.EnableSabotageFlashes", true); /// /// Gets whether to enable the sabotage sound effects or not. /// [LocalToggleSetting] - public ConfigEntry EnableSabotageBlares { get; private set; } = config.Bind("miraApi.accessibility", "miraApi.enableSabotageBlare", true); + public ConfigEntry EnableSabotageBlares { get; private set; } = config.Bind("MiraApi.Accessibility", "MiraApi.EnableSabotageBlare", true); } diff --git a/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs b/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs index f87c691..71fa411 100644 --- a/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs +++ b/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs @@ -5,7 +5,6 @@ using System.Text; using AmongUs.GameOptions; using HarmonyLib; using Il2CppInterop.Runtime.InteropTypes.Arrays; -using MiraAPI.LocalSettings; using MiraAPI.Modifiers; using MiraAPI.Modifiers.Types; using MiraAPI.PluginLoading; @@ -269,13 +268,9 @@ public static class TaskAdderPatches stringBuilder.Append('\\'); } __instance.PathText.text = stringBuilder.ToString(); - var prettyEnabled = LocalSettingsTabSingleton.Instance.PrettyTaskAdder.Value; - if (prettyEnabled) - { - __instance.PathText.fontSizeMin = 3; - __instance.PathText.fontSizeMax = 3; - __instance.transform.FindChild("TitleText_TMP")?.gameObject.DestroyImmediate(); - } + __instance.PathText.fontSizeMin = 3; + __instance.PathText.fontSizeMax = 3; + __instance.transform.FindChild("TitleText_TMP")?.gameObject.DestroyImmediate(); __instance.ActiveItems.ToArray().Do(x => x.gameObject.DeepDestroy(false)); __instance.ActiveItems.Clear(); @@ -355,15 +350,12 @@ public static class TaskAdderPatches { TaskAddButton roleAddButton = Object.Instantiate(__instance.RoleButton); roleAddButton.SafePositionWorld = __instance.SafePositionWorld; - roleAddButton.Text.text = prettyEnabled ? role.GetRoleName() : "Be_" + role.GetRoleName() + ".exe"; + roleAddButton.Text.text = role.GetRoleName(); roleAddButton.Role = role; - if (prettyEnabled) - { - roleAddButton.Text.fontSizeMin = 1; - roleAddButton.FileImage.sprite = role.IsImpostor - ? MiraAssets.ImpostorFile.LoadAsset() - : MiraAssets.CrewmateFile.LoadAsset(); - } + roleAddButton.Text.fontSizeMin = 1; + roleAddButton.FileImage.sprite = role.IsImpostor + ? MiraAssets.ImpostorFile.LoadAsset() + : MiraAssets.CrewmateFile.LoadAsset(); __instance.AddFileAsChildCustom(roleAddButton, ref num, ref num2, ref num3); if (roleAddButton != null && roleAddButton.Button != null) @@ -410,19 +402,16 @@ public static class TaskAdderPatches var roleAddButton = Object.Instantiate(__instance.RoleButton); roleAddButton.MyTask = null; roleAddButton.SafePositionWorld = __instance.SafePositionWorld; - roleAddButton.Text.text = prettyEnabled ? roleBehaviour.GetRoleName() : "Be_" + roleBehaviour.GetRoleName() + ".exe"; + roleAddButton.Text.text = roleBehaviour.GetRoleName(); roleAddButton.Text.EnableMasking(); roleAddButton.role = roleBehaviour; - if (prettyEnabled) - { - roleAddButton.Text.fontSizeMin = 1; - roleAddButton.FileImage.sprite = roleBehaviour.IsImpostor - ? MiraAssets.ImpostorFile.LoadAsset() - : MiraAssets.CrewmateFile.LoadAsset(); - } + roleAddButton.Text.fontSizeMin = 1; + roleAddButton.FileImage.sprite = roleBehaviour.IsImpostor + ? MiraAssets.ImpostorFile.LoadAsset() + : MiraAssets.CrewmateFile.LoadAsset(); if (roleBehaviour is ICustomRole custom) { - if (prettyEnabled && custom.Team == ModdedRoleTeams.Custom) roleAddButton.FileImage.sprite = MiraAssets.CustomTeamFile.LoadAsset(); + if (custom.Team == ModdedRoleTeams.Custom) roleAddButton.FileImage.sprite = MiraAssets.CustomTeamFile.LoadAsset(); var customColor = custom.IntroConfiguration?.IntroTeamColor ?? Color.gray; if (custom.Team is ModdedRoleTeams.Crewmate) { diff --git a/MiraAPI/Patches/GameModes/HudPatches.cs b/MiraAPI/Patches/GameModes/HudPatches.cs index dba4731..4426e0a 100644 --- a/MiraAPI/Patches/GameModes/HudPatches.cs +++ b/MiraAPI/Patches/GameModes/HudPatches.cs @@ -50,7 +50,7 @@ internal static class HudPatches gmText.SetActive(false); modelText.SetActive(false); _text = gmTextClone.GetComponent(); - _text.text = CustomGameModeManager.ActiveMode != null ? CustomGameModeManager.ActiveMode.ColoredName : MiraLocaleManager.Get("gamemode.classic"); + _text.text = CustomGameModeManager.ActiveMode != null ? CustomGameModeManager.ActiveMode.ColoredName : MiraLocaleManager.Get("MiraApi.Gamemode.Classic"); CustomGameModeManager.ActiveMode?.HudStart(instance); } diff --git a/MiraAPI/Patches/HudManagerPatches.cs b/MiraAPI/Patches/HudManagerPatches.cs index 345c9a6..f8835a8 100644 --- a/MiraAPI/Patches/HudManagerPatches.cs +++ b/MiraAPI/Patches/HudManagerPatches.cs @@ -42,12 +42,16 @@ public static class HudManagerPatches ResizeUI(LocalSettingsTabSingleton.Instance.ButtonUIFactorSlider.Value); } + private static Transform _storedButtonsParent; public static void ResizeUI(float scaleFactor) { - var baseButtons = HudManager.Instance.transform.FindChild("Buttons"); - if (baseButtons != null) + if (!_storedButtonsParent) { - foreach (var aspect in baseButtons.GetComponentsInChildren(true)) + _storedButtonsParent = HudManager.Instance.transform.FindChild("Buttons"); + } + if (_storedButtonsParent) + { + foreach (var aspect in _storedButtonsParent.GetComponentsInChildren(true)) { if (!aspect.gameObject) { @@ -82,9 +86,9 @@ public static class HudManagerPatches button.gameObject.SetActive(!button.isActiveAndEnabled); } - if (baseButtons != null) + if (_storedButtonsParent) { - foreach (var arrange in baseButtons.GetComponentsInChildren(true)) + foreach (var arrange in _storedButtonsParent.GetComponentsInChildren(true)) { if (!arrange.gameObject || !arrange.transform) { @@ -281,6 +285,8 @@ public static class HudManagerPatches } MiraApiSettings.OldButtonScaleFactor = LocalSettingsTabSingleton.Instance.ButtonUIFactorSlider.Value; + MiraApiSettings.OldUiButtonScaleFactor = + LocalSettingsTabSingleton.Instance.TopRightButtonsFactorSlider.Value; Coroutines.Start(CoResizeUI()); } diff --git a/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs b/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs index dec15b6..46108fc 100644 --- a/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs +++ b/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs @@ -716,7 +716,7 @@ internal static class GameOptionsMenuPatch categoryHeaderMasked.gameObject.SetActive(false); var newText = Object.Instantiate(categoryHeaderMasked.Title, categoryHeaderMasked.transform); - newText.text = $"({"gamesetting.global.clicktoclose".Translate()})"; + newText.text = $"({"MiraApi.GameSetting.Global.ClickToClose".Translate()})"; newText.transform.localPosition = new Vector3(2.6249f, -0.165f, 0f); newText.gameObject.GetComponent().Destroy(); @@ -733,8 +733,8 @@ internal static class GameOptionsMenuPatch { group.AllOptionsHidden = !group.AllOptionsHidden; newText.text = group.AllOptionsHidden - ? $"({"gamesetting.global.clicktoopen".Translate()})" - : $"({"gamesetting.global.clicktoclose".Translate()})"; + ? $"({"MiraApi.GameSetting.Global.ClickToOpen".Translate()})" + : $"({"MiraApi.GameSetting.Global.ClickToClose".Translate()})"; })); headerBtn.SetButtonEnableState(true); diff --git a/MiraAPI/Patches/Options/GamePresetsTabPatches.cs b/MiraAPI/Patches/Options/GamePresetsTabPatches.cs index 6824077..c1db00b 100644 --- a/MiraAPI/Patches/Options/GamePresetsTabPatches.cs +++ b/MiraAPI/Patches/Options/GamePresetsTabPatches.cs @@ -46,7 +46,7 @@ internal static class GamePresetsTabPatches if (MenuState.Instance.CurrentModIdx != 0) { - __instance.PresetDescriptionText.text = "gamesetting.preset.hint".Translate(); + __instance.PresetDescriptionText.text = "MiraApi.GameSetting.Preset.Hint".Translate(); } else { @@ -185,7 +185,7 @@ internal static class GamePresetsTabPatches // set the button text and alignment var saveText = saveButton.buttonText; - saveText.text = "gamesetting.preset.save".Translate(); + saveText.text = "MiraApi.GameSetting.Preset.Save".Translate(); saveText.GetComponent().Destroy(); saveText.alignment = TextAlignmentOptions.Center; saveText.transform.parent.localPosition = new Vector3( diff --git a/MiraAPI/Patches/Options/LobbyViewPanePatches.cs b/MiraAPI/Patches/Options/LobbyViewPanePatches.cs index 7c673d0..3435277 100644 --- a/MiraAPI/Patches/Options/LobbyViewPanePatches.cs +++ b/MiraAPI/Patches/Options/LobbyViewPanePatches.cs @@ -83,7 +83,7 @@ public static class LobbyViewPanePatches var pos = ModifiersTabButton.transform.localPosition; pos.x = 2.1f; ModifiersTabButton.transform.localPosition = pos; - ModifiersTabButton.buttonText.text = "gamesetting.modifiers".Translate(); + ModifiersTabButton.buttonText.text = "MiraApi.GameSetting.Modifiers".Translate(); ModifiersTabButton.OnClick = new Button.ButtonClickedEvent(); ModifiersTabButton.OnClick.AddListener( (UnityAction)(() => @@ -151,7 +151,7 @@ public static class LobbyViewPanePatches var cgm = GetCustomGamemode(); ModifiersTabButton?.gameObject.SetActive(false); menu.rolesTabButton.gameObject.SetActive(cgm is null or { ShowNormalRoleSettings: true }); - menu.gameModeText.text = cgm is null ? MiraLocaleManager.Get("gamemode.classic") : cgm.ColoredName; + menu.gameModeText.text = cgm is null ? MiraLocaleManager.Get("MiraApi.Gamemode.Classic") : cgm.ColoredName; } else { diff --git a/MiraAPI/Patches/Options/MenuState.cs b/MiraAPI/Patches/Options/MenuState.cs index d7b8e11..e21e364 100644 --- a/MiraAPI/Patches/Options/MenuState.cs +++ b/MiraAPI/Patches/Options/MenuState.cs @@ -150,7 +150,7 @@ public class MenuState(IntPtr cppPtr) : MonoBehaviour(cppPtr) _largeButtons[MenuButton.Modifiers] = mBtn; mBtn.name = "ModifiersButton"; mBtn.buttonText.gameObject.GetComponent().Destroy(); - mBtn.buttonText.text = "gamesetting.modifiers".Translate(); + mBtn.buttonText.text = "MiraApi.GameSetting.Modifiers".Translate(); mBtn.OnClick = new Button.ButtonClickedEvent(); mBtn.OnClick.AddListener( (UnityAction)(() => @@ -219,7 +219,7 @@ public class MenuState(IntPtr cppPtr) : MonoBehaviour(cppPtr) })); var roleText = smRolesBtn.buttonText; - roleText.text = "gamesetting.roles".Translate(); + roleText.text = "MiraApi.GameSetting.Roles".Translate(); roleText.GetComponent().Destroy(); roleText.alignment = TextAlignmentOptions.Center; roleText.transform.parent.localPosition = new Vector3( @@ -244,7 +244,7 @@ public class MenuState(IntPtr cppPtr) : MonoBehaviour(cppPtr) var smModBtn = Instantiate(smRolesBtn, smRolesBtn.transform.parent); _smallButtons[MenuButton.Modifiers] = smModBtn; smModBtn.name = "SmallModifiersButton"; - smModBtn.buttonText.text = "gamesetting.modifiers".Translate(); + smModBtn.buttonText.text = "MiraApi.GameSetting.Modifiers".Translate(); smModBtn.OnClick = new Button.ButtonClickedEvent(); smModBtn.OnClick.AddListener( (UnityAction)(() => diff --git a/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs b/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs index ff31dfa..390adfb 100644 --- a/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs +++ b/MiraAPI/Patches/Options/RoleSettingMenuPatches.cs @@ -289,8 +289,8 @@ public static class RoleSettingMenuPatches quotaInst.gameObject.SetActive(!RoleGroupHidden[group]); var label = RoleGroupHidden[group] - ? $"({"gamesetting.global.clicktoopen".Translate()})" - : $"({"gamesetting.global.clicktoclose".Translate()})"; + ? $"({"MiraApi.GameSetting.Global.ClickToOpen".Translate()})" + : $"({"MiraApi.GameSetting.Global.ClickToClose".Translate()})"; var newText = Object.Instantiate(categoryHeaderMasked.Title, categoryHeaderMasked.transform); newText.text = $"{label}"; newText.transform.localPosition = new Vector3(2.6249f, -0.165f, 0f); @@ -610,7 +610,7 @@ public static class RoleSettingMenuPatches comp.Destroy(); } - categoryHeaderMasked.Title.text = "miraApi.returnToRoleSettings".Translate(); + categoryHeaderMasked.Title.text = "MiraApi.ReturnToRoleSettings".Translate(); if (!categoryHeaderMasked.gameObject.TryGetComponent(out _)) { diff --git a/MiraAPI/Resources/Locale/en_US.xml b/MiraAPI/Resources/Locale/en_US.xml index 68c78c9..742db18 100644 --- a/MiraAPI/Resources/Locale/en_US.xml +++ b/MiraAPI/Resources/Locale/en_US.xml @@ -1,44 +1,42 @@ - Mira API - Visuals/UI - Freeplay - Accessibility - MiraAPI - Show Modifiers HUD on Left Side - Show Keybinds on Buttons - Button Scale Factor - Top-Right UI Scale Factor - Max FPS - Display Wiki on Bottom Row - Pretty Task Laptop - Enable Sabotage Flashes - Enable Sabotage Blare - RETURN TO ROLE SETTINGS - Custom Category 1 - Custom Category 2 - Configure modifiers and their settings here! - Apply game settings for this mod! - Classic - The classic Among Us experience! + Mira API + Visuals/UI + Accessibility + MiraAPI + Show Modifiers HUD on Left Side + Show Keybinds on Buttons + Button Scale Factor + Top-Right UI Scale Factor + Max FPS + Display Wiki on Bottom Row + Enable Sabotage Flashes + Enable Sabotage Blare + RETURN TO ROLE SETTINGS + Custom Category 1 + Custom Category 2 + Configure modifiers and their settings here! + Apply game settings for this mod! + Classic + The classic Among Us experience! Find the Impostors or deceive the Crew. - Hide n Seek - You can run, but you can't hide! + Hide n Seek + You can run, but you can't hide! Outlive the timer or eliminate the crew. - Click to close - Click to open - Select or create a options preset for this game - Save - Roles - Modifiers - Crewmate - Crew - Crewmate Roles - Impostor - Imp - Impostor Roles - Neutral - Neut - Neutral Roles - Other + Click to close + Click to open + Select or create a options preset for this game + Save + Roles + Modifiers + Crewmate + Crew + Crewmate Roles + Impostor + Imp + Impostor Roles + Neutral + Neut + Neutral Roles + Other diff --git a/MiraAPI/Resources/Locale/zh_CN.xml b/MiraAPI/Resources/Locale/zh_CN.xml index 89848c4..12af14c 100644 --- a/MiraAPI/Resources/Locale/zh_CN.xml +++ b/MiraAPI/Resources/Locale/zh_CN.xml @@ -1,27 +1,25 @@ - Mira API - 界面/视觉 - 自由模式 - 无障碍 - MiraAPI - 在左侧显示附加职业UI - 在按钮上显示快捷键 - 按钮缩放比例 - 最大帧数 - 美化任务笔记本 - 启用破坏红色闪烁 - 启用破坏音效 - 返回职业设置 - 自定义类别 1 - 自定义类别 2 - 在此配置附加职业及其设置! - 为此模组应用游戏设置! + Mira API + 界面/视觉 + 无障碍 + MiraAPI + 在左侧显示附加职业UI + 在按钮上显示快捷键 + 按钮缩放比例 + 最大帧数 + 启用破坏红色闪烁 + 启用破坏音效 + 返回职业设置 + 自定义类别 1 + 自定义类别 2 + 在此配置附加职业及其设置! + 为此模组应用游戏设置! 默认 默认原版游戏模式 - 点击关闭 - 为本游戏选择或创建一个预设 - 保存 - 职业 - 附加职业 + 点击关闭 + 为本游戏选择或创建一个预设 + 保存 + 职业 + 附加职业 diff --git a/MiraAPI/Roles/ICustomRole.cs b/MiraAPI/Roles/ICustomRole.cs index c214619..8f62a7f 100644 --- a/MiraAPI/Roles/ICustomRole.cs +++ b/MiraAPI/Roles/ICustomRole.cs @@ -74,10 +74,10 @@ public interface ICustomRole : IOptionable /// string RoleFactionTitle => Team switch { - ModdedRoleTeams.Crewmate => MiraLocaleManager.Get("roleTeam.crewmate"), - ModdedRoleTeams.Impostor => MiraLocaleManager.Get("roleTeam.impostor"), - ModdedRoleTeams.Custom => MiraLocaleManager.Get("roleTeam.neutral"), - _ => MiraLocaleManager.Get("roleTeam.other"), + ModdedRoleTeams.Crewmate => MiraLocaleManager.Get("MiraApi.RoleTeam.Crewmate"), + ModdedRoleTeams.Impostor => MiraLocaleManager.Get("MiraApi.RoleTeam.Impostor"), + ModdedRoleTeams.Custom => MiraLocaleManager.Get("MiraApi.RoleTeam.Neutral"), + _ => MiraLocaleManager.Get("MiraApi.RoleTeam.Other"), }; /// diff --git a/MiraAPI/Roles/RoleOptionsGroup.cs b/MiraAPI/Roles/RoleOptionsGroup.cs index a53ea95..f8f25f5 100644 --- a/MiraAPI/Roles/RoleOptionsGroup.cs +++ b/MiraAPI/Roles/RoleOptionsGroup.cs @@ -13,15 +13,15 @@ public record struct RoleOptionsGroup(string Name, Color Color, int Priority = 0 /// /// Gets the default group for crewmates. /// - public static RoleOptionsGroup Crewmate { get; } = new("roleTeam.crewmate.group", Palette.CrewmateBlue, -2); + public static RoleOptionsGroup Crewmate { get; } = new("MiraApi.RoleTeam.Crewmate.Group", Palette.CrewmateBlue, -2); /// /// Gets the default group for impostors. /// - public static RoleOptionsGroup Impostor { get; } = new("roleTeam.impostor.group", Palette.ImpostorRed, -1); + public static RoleOptionsGroup Impostor { get; } = new("MiraApi.RoleTeam.Impostor.Group", Palette.ImpostorRed, -1); /// /// Gets the default group for neutral roles. /// - public static RoleOptionsGroup Neutral { get; } = new("roleTeam.neutral.group", Color.gray); + public static RoleOptionsGroup Neutral { get; } = new("MiraApi.RoleTeam.Neutral.Group", Color.gray); }