diff --git a/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs b/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs index 96dbf3a..b1d9012 100644 --- a/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs +++ b/MiraAPI/Patches/Freeplay/TaskAdderPatches.cs @@ -10,6 +10,7 @@ using MiraAPI.Modifiers; using MiraAPI.Modifiers.Types; using MiraAPI.PluginLoading; using MiraAPI.Roles; +using MiraAPI.Utilities; using MiraAPI.Utilities.Assets; using Reactor.Utilities.Extensions; using UnityEngine; @@ -65,16 +66,18 @@ internal static class TaskAdderPatches __instance.RootFolderPrefab.GetComponent().ClickMask = collider; __instance.RootFolderPrefab.gameObject.SetActive(false); __instance.TaskParent = inner.transform; + var crewLocale = TranslationController.Instance.GetString(StringNames.Crewmate); + var impLocale = TranslationController.Instance.GetString(StringNames.Impostor); - var crewmateFolder = __instance.Root.SubFolders.ToArray().FirstOrDefault(x => x.FolderName == "Crewmate")!; - var impostorFolder = __instance.Root.SubFolders.ToArray().FirstOrDefault(x => x.FolderName == "Impostor")!; - var neutralFolder = __instance.CreateFolder("Neutral", __instance.Root, 2, Color.gray); + var crewmateFolder = __instance.Root.SubFolders.ToArray().FirstOrDefault(x => x.FolderName == crewLocale)!; + var impostorFolder = __instance.Root.SubFolders.ToArray().FirstOrDefault(x => x.FolderName == impLocale)!; + //var neutralFolder = __instance.CreateFolder("Neutral", __instance.Root, 2, Color.gray); var modifiersFolder = __instance.CreateFolder("Modifiers", __instance.Root, 0, Color.blue); folders.Clear(); folders.Add(crewmateFolder.FolderName, crewmateFolder); folders.Add(impostorFolder.FolderName, impostorFolder); - folders.Add("Neutrals", neutralFolder); + //folders.Add("Neutrals", neutralFolder); folders.Add("Modifiers", modifiersFolder); int folderIdx = 3; @@ -350,7 +353,7 @@ internal static class TaskAdderPatches { TaskAddButton roleAddButton = Object.Instantiate(__instance.RoleButton); roleAddButton.SafePositionWorld = __instance.SafePositionWorld; - roleAddButton.Text.text = prettyEnabled ? role.NiceName : "Be_" + role.NiceName + ".exe"; + roleAddButton.Text.text = prettyEnabled ? role.GetRoleName() : "Be_" + role.GetRoleName() + ".exe"; roleAddButton.Role = role; if (prettyEnabled) { @@ -389,8 +392,10 @@ internal static class TaskAdderPatches { continue; } + var crewLocale = TranslationController.Instance.GetString(StringNames.Crewmate); + var impLocale = TranslationController.Instance.GetString(StringNames.Impostor); - var teamFolder = roleBehaviour.IsImpostor ? "Impostor" : "Crewmate"; + var teamFolder = roleBehaviour.IsImpostor ? impLocale : crewLocale; if (roleBehaviour is ICustomRole cs) { teamFolder = cs.Configuration.FreeplayFolder; @@ -403,7 +408,7 @@ internal static class TaskAdderPatches var roleAddButton = Object.Instantiate(__instance.RoleButton); roleAddButton.MyTask = null; roleAddButton.SafePositionWorld = __instance.SafePositionWorld; - roleAddButton.Text.text = prettyEnabled ? roleBehaviour.NiceName : "Be_" + roleBehaviour.NiceName + ".exe"; + roleAddButton.Text.text = prettyEnabled ? roleBehaviour.GetRoleName() : "Be_" + roleBehaviour.GetRoleName() + ".exe"; roleAddButton.Text.EnableMasking(); roleAddButton.role = roleBehaviour; if (prettyEnabled) diff --git a/MiraAPI/Roles/CustomRoleConfiguration.cs b/MiraAPI/Roles/CustomRoleConfiguration.cs index 3974665..d93fbf2 100644 --- a/MiraAPI/Roles/CustomRoleConfiguration.cs +++ b/MiraAPI/Roles/CustomRoleConfiguration.cs @@ -34,8 +34,8 @@ public record struct CustomRoleConfiguration ShowInFreeplay = roleBehaviour?.IsDead == false; FreeplayFolder = role.Team switch { - ModdedRoleTeams.Crewmate => "Crewmate", - ModdedRoleTeams.Impostor => "Impostor", + ModdedRoleTeams.Crewmate => TranslationController.Instance.GetString(StringNames.Crewmate), + ModdedRoleTeams.Impostor => TranslationController.Instance.GetString(StringNames.Impostor), _ => "Neutral", }; IntroSound = role.Team is ModdedRoleTeams.Crewmate diff --git a/MiraAPI/Utilities/Helpers.cs b/MiraAPI/Utilities/Helpers.cs index 416cd28..a845fb4 100644 --- a/MiraAPI/Utilities/Helpers.cs +++ b/MiraAPI/Utilities/Helpers.cs @@ -5,6 +5,7 @@ using System.Globalization; using System.Linq; using Il2CppInterop.Runtime.InteropTypes.Arrays; using MiraAPI.Keybinds; +using MiraAPI.Roles; using MiraAPI.Utilities.Assets; using Rewired; using TMPro; @@ -495,4 +496,18 @@ public static class Helpers (Il2CppSystem.Object[])[value.ToString(formatString, CultureInfo.InvariantCulture)]), }; } + + /// + /// Returns the string of a role. + /// + /// The role to find. + /// The role name. + public static string GetRoleName(this RoleBehaviour role) + { + if (role is ICustomRole custom) + { + return custom.RoleName; + } + return role.NiceName; + } }