private static void Postfix(TextBoxTMP __instance) { bool flag = TheOtherRolesPlugin.StreamerMode.Value && (__instance.name == "GameIdText" || __instance.name == "IpTextBox" || __instance.name == "PortTextBox"); if (flag) { __instance.outputText.text = new string('*', __instance.text.Length); } }
public static void Update(TextBoxTMP __instance) { if (ArrowEnter.ArrowEnterBase == null && __instance.transform.parent?.name == "JoinGameButton") { ArrowEnter.Build(__instance.transform.parent); } if (MyTextBox.TextBoxBase == null && __instance.transform.name == "GameIdText") { MyTextBox.CopyTextBox(__instance.transform); } }
public static void Prefix(TextBoxTMP __instance, [HarmonyArgument(0)] ref string input) { if (HudManager.Instance?.Chat?.TextArea == null) { return; } if (__instance != HudManager.Instance.Chat.TextArea) { return; } AbilityBlackmail[] blackmailAbilities = Ability.GetAllAbilities <AbilityBlackmail>(); if (blackmailAbilities.All(blackmailAbility => blackmailAbility.BlackmailedPlayer != LocalPlayer)) { return; } var lastChar = ' '; foreach (char c in input) { lastChar = c; } switch (lastChar) { case '\r': case '\n': input = BlackmailedString + '\r'; break; case '\b': break; default: input = BlackmailedString.Substring(0, Mathf.Min(input.Length, BlackmailedString.Length)); break; } }
public static void Postfix(RegionMenu __instance) { var template = DestroyableSingleton <JoinGameButton> .Instance; if (ipField == null || ipField.gameObject == null) { ipField = UnityEngine.Object.Instantiate(template.GameIdText, __instance.transform); ipField.gameObject.name = "IpTextBox"; UnityEngine.Object.DestroyImmediate(ipField.transform.FindChild("arrowEnter").gameObject); ipField.transform.localPosition = new Vector3(0, -1f, -100f); ipField.characterLimit = 30; ipField.AllowSymbols = true; ipField.ForceUppercase = false; ipField.SetText(StreamHatsPlugin.Ip.Value); __instance.StartCoroutine(Effects.Lerp(0.1f, new Action <float>((p) => { ipField.outputText.SetText(StreamHatsPlugin.Ip.Value); ipField.SetText(StreamHatsPlugin.Ip.Value); }))); ipField.ClearOnFocus = false; ipField.OnEnter = ipField.OnChange = new Button.ButtonClickedEvent(); ipField.OnFocusLost = new Button.ButtonClickedEvent(); ipField.OnChange.AddListener((UnityAction)onEnterOrIpChange); ipField.OnFocusLost.AddListener((UnityAction)onFocusLost); void onEnterOrIpChange() { StreamHatsPlugin.Ip.Value = ipField.text; } void onFocusLost() { StreamHatsPlugin.UpdateRegions(); __instance.ChooseOption(ServerManager.DefaultRegions[ServerManager.DefaultRegions.Length - 1]); } } if (portField == null || portField.gameObject == null) { portField = UnityEngine.Object.Instantiate(template.GameIdText, __instance.transform); portField.gameObject.name = "PortTextBox"; UnityEngine.Object.DestroyImmediate(portField.transform.FindChild("arrowEnter").gameObject); portField.transform.localPosition = new Vector3(0, -1.75f, -100f); portField.characterLimit = 5; portField.SetText(StreamHatsPlugin.Port.Value.ToString()); __instance.StartCoroutine(Effects.Lerp(0.1f, new Action <float>((p) => { portField.outputText.SetText(StreamHatsPlugin.Port.Value.ToString()); portField.SetText(StreamHatsPlugin.Port.Value.ToString()); }))); portField.ClearOnFocus = false; portField.OnEnter = portField.OnChange = new Button.ButtonClickedEvent(); portField.OnFocusLost = new Button.ButtonClickedEvent(); portField.OnChange.AddListener((UnityAction)onEnterOrPortFieldChange); portField.OnFocusLost.AddListener((UnityAction)onFocusLost); void onEnterOrPortFieldChange() { ushort port = 0; if (ushort.TryParse(portField.text, out port)) { StreamHatsPlugin.Port.Value = port; portField.outputText.color = Color.white; } else { portField.outputText.color = Color.red; } } void onFocusLost() { StreamHatsPlugin.UpdateRegions(); __instance.ChooseOption(ServerManager.DefaultRegions[ServerManager.DefaultRegions.Length - 1]); } } }
public static void Postfix(RegionMenu __instance) { var template = DestroyableSingleton <JoinGameButton> .Instance; if (ipField == null || ipField.gameObject == null) { ipField = UnityEngine.Object.Instantiate(template.GameIdText, __instance.transform); ipField.gameObject.name = "IpTextBox"; UnityEngine.Object.DestroyImmediate(ipField.transform.FindChild("arrowEnter").gameObject); ipField.transform.localPosition = new Vector3(0, -1f, -100f); ipField.characterLimit = 30; ipField.AllowSymbols = true; ipField.SetText(TheOtherRolesPlugin.Ip.Value); __instance.StartCoroutine(Effects.Lerp(0.1f, new Action <float>((p) => { ipField.outputText.SetText(TheOtherRolesPlugin.Ip.Value); ipField.SetText(TheOtherRolesPlugin.Ip.Value); }))); ipField.ClearOnFocus = false; ipField.OnFocusLost = ipField.OnEnter = ipField.OnChange = new Button.ButtonClickedEvent(); ipField.OnChange.AddListener((UnityAction)ipEvent); void ipEvent() { TheOtherRolesPlugin.Ip.Value = ipField.text; TheOtherRolesPlugin.CustomRegion.DefaultIp = ipField.text; } } if (portField == null || portField.gameObject == null) { portField = UnityEngine.Object.Instantiate(template.GameIdText, __instance.transform); portField.gameObject.name = "PortTextBox"; UnityEngine.Object.DestroyImmediate(portField.transform.FindChild("arrowEnter").gameObject); portField.transform.localPosition = new Vector3(0, -1.75f, -100f); portField.characterLimit = 5; portField.SetText(TheOtherRolesPlugin.Port.Value.ToString()); __instance.StartCoroutine(Effects.Lerp(0.1f, new Action <float>((p) => { portField.outputText.SetText(TheOtherRolesPlugin.Port.Value.ToString()); portField.SetText(TheOtherRolesPlugin.Port.Value.ToString()); }))); portField.ClearOnFocus = false; portField.OnFocusLost = portField.OnEnter = portField.OnChange = new Button.ButtonClickedEvent(); portField.OnChange.AddListener((UnityAction)portEvent); void portEvent() { ushort port = 0; if (ushort.TryParse(portField.text, out port)) { TheOtherRolesPlugin.Port.Value = port; TheOtherRolesPlugin.CustomRegion.Port = port; portField.outputText.color = Color.white; } else { portField.outputText.color = Color.red; } } } }