public static void Prefix(HeraldryNameWidget __instance) { try { Logger.Debug("[HeraldryNameWidget_SetData_PREFIX] Disable text validation, expand character limit"); HBS_InputField nameInput = (HBS_InputField)AccessTools.Field(typeof(HeraldryNameWidget), "nameInput").GetValue(__instance); nameInput.characterLimit = 80; nameInput.contentType = HBS_InputField.ContentType.Standard; nameInput.characterValidation = HBS_InputField.CharacterValidation.None; } catch (Exception e) { Logger.Error(e); } }
public static void Postfix(HeraldryNameWidget __instance) { try { HBS_InputField nameInput = (HBS_InputField)AccessTools.Field(typeof(HeraldryNameWidget), "nameInput").GetValue(__instance); string currentHeraldryName = nameInput.text; if (string.IsNullOrEmpty(currentHeraldryName)) { Logger.Debug("[HeraldryNameWidget_OnNameInputEndEdit_POSTFIX] No input"); return; } if (currentHeraldryName.Length > 0 && currentHeraldryName.Substring(0, 1) != "/") { Logger.Debug("[HeraldryNameWidget_OnNameInputEndEdit_POSTFIX] No command"); return; } List <string> validCommands = new List <string>() { "/help", "/list", "/mech", "/comp", "/funds", "/xp", "/upgr", "/ronin", "/rep", "/travel", "/event" }; string command = validCommands.FirstOrDefault(c => currentHeraldryName.Contains(c)); if (command != null) { Logger.Debug("[HeraldryNameWidget_OnNameInputEndEdit_POSTFIX] Command: " + command); string param = currentHeraldryName.Replace(command, "").Trim(); if (command != "/help" && String.IsNullOrEmpty(param)) { Logger.Debug("[HeraldryNameWidget_OnNameInputEndEdit_POSTFIX] Recognized a command but no param was given"); PopupHelper.Info("Recognized a command but no param was given"); return; } switch (command) { case "/help": Info.Help.Show(); return; case "/list": Info.Data.List(param); return; case "/mech": Cheater.Mech.Add(param); return; case "/comp": Cheater.Component.Add(param); return; case "/rep": Cheater.Reputation.Add(param); return; case "/funds": Cheater.Funds.Add(param); return; case "/xp": Cheater.Experience.Add(param); return; case "/upgr": Cheater.Upgrade.Add(param); return; case "/ronin": Cheater.Ronin.Add(param); return; case "/travel": Cheater.Travel.To(param); return; case "/event": Cheater.Event.Force(param); return; default: return; } } else { Logger.Debug("[HeraldryNameWidget_OnNameInputEndEdit_POSTFIX] Unknown command"); PopupHelper.Info("Unknown command"); } } catch (Exception e) { Logger.Error(e); } }