public static void SetHardpoints(object data, TooltipPrefab_Mech __instance, LocalizableText ___JumpjetHP) { try { //Control.Log("tooltip mech"); var handler = __instance.GetComponent <TooltipHPHandler>(); if (handler == null) { //Control.Log("creating"); handler = __instance.gameObject.AddComponent <TooltipHPHandler>(); handler.Init(__instance, ___JumpjetHP.transform.parent.gameObject); } var mech = data as MechDef; if (mech != null) { //Control.Log($"set data for {mech.Description.Id}"); var usage = mech.GetHardpointUsage(); handler.SetData(usage); handler.SetJJ(mech.GetJJCountByMechDef(), mech.GetJJMaxByMechDef()); } } catch (Exception e) { Control.LogError(e); } }
public static void Postfix(TooltipPrefab_Mech __instance, object data, TextMeshProUGUI ___VariantField) { try { if (data is MechDef mechDef) { var dm = UnityGameInstance.BattleTechGame.DataManager; // not sure why this method gets a shitty MechDef but it does... MinAppearance is 0, minAppearance is 1 // so get a real mechdef using its name... this works and is necessary! (1.6.1) var date = dm.MechDefs.Where(x => x.Value.Description.Id == mechDef.Description.Id) .Select(x => x.Value.MinAppearanceDate).FirstOrDefault(); var variantName = ___VariantField.text.Substring(2, ___VariantField.text.Length - 4); // vanilla has ( ) with spaces ___VariantField.SetText($"( {variantName} ({date.Value.Year}) )"); } } catch // silent drop { } }
public static bool SetHardpoints(TooltipPrefab_Mech __instance) { return(false); }