diff --git a/MiraAPI/Patches/Roles/TaskAdderPatch.cs b/MiraAPI/Patches/Roles/TaskAdderPatch.cs index 6de6649..b15e9cf 100644 --- a/MiraAPI/Patches/Roles/TaskAdderPatch.cs +++ b/MiraAPI/Patches/Roles/TaskAdderPatch.cs @@ -5,6 +5,7 @@ using MiraAPI.Roles; using MiraAPI.Utilities.Assets; using System; using System.Linq; +using MiraAPI.Utilities; using TMPro; using UnityEngine; using Object = UnityEngine.Object; @@ -261,6 +262,7 @@ public static class TaskAdderPatch var taskAddButton2 = Object.Instantiate(__instance.RoleButton); taskAddButton2.SafePositionWorld = __instance.SafePositionWorld; taskAddButton2.Text.text = "Be_" + roleBehaviour.NiceName + ".exe"; + taskAddButton2.Text.fontMaterial.EnableMasking(); __instance.AddFileAsChildCustom(taskAddButton2, ref num, ref num2, ref num3); taskAddButton2.Role = roleBehaviour; @@ -350,6 +352,7 @@ public static class TaskAdderPatch taskAddButton.MyTask = null; taskAddButton.SafePositionWorld = instance.SafePositionWorld; taskAddButton.Text.text = modifier.ModifierName; + taskAddButton.Text.fontMaterial.EnableMasking(); instance.AddFileAsChildCustom(taskAddButton, ref num, ref num2, ref num3); ControllerManager.Instance.AddSelectableUiElement(taskAddButton.Button); @@ -381,6 +384,8 @@ public static class TaskAdderPatch var taskAddButton2 = Object.Instantiate(instance.RoleButton); taskAddButton2.SafePositionWorld = instance.SafePositionWorld; taskAddButton2.Text.text = "Be_" + roleBehaviour.NiceName + ".exe"; + taskAddButton2.Text.fontMaterial.EnableMasking(); + instance.AddFileAsChildCustom(taskAddButton2, ref num, ref num2, ref num3); taskAddButton2.Role = roleBehaviour; if (taskAddButton2.Button == null) diff --git a/MiraAPI/Utilities/Extensions.cs b/MiraAPI/Utilities/Extensions.cs index dc3bba1..97bd8c9 100644 --- a/MiraAPI/Utilities/Extensions.cs +++ b/MiraAPI/Utilities/Extensions.cs @@ -39,6 +39,16 @@ public static class Extensions BitConverter.GetBytes(count.Value).AddRangeToArray(BitConverter.GetBytes(chance.Value))); } + /// + /// Sets masking on a TMP MATERIAL! Do not use this on other materials. + /// + /// The TMP material. + public static void EnableMasking(this Material material) + { + material.SetFloat(ShaderID.Get("_Stencil"), 1); + material.SetFloat(ShaderID.Get("_StencilComp"), 4); + } + /// /// Checks if a type is static. ///