public static void Postfix(uGUI_ExosuitHUD __instance) { Player main = Player.main; if (main != null && main.inExosuit) { int celsius = (int)__instance.GetPrivateField("lastTemperature"); int fahrenheit = Mathf.CeilToInt(celsius * 1.8f + 32); __instance.textTemperature.text = IntStringCache.GetStringForInt(fahrenheit); __instance.textTemperatureSuffix.color = textColor; __instance.textTemperatureSuffix.text = "\u00b0F"; } }
public static void PostUpdate(uGUI_ExosuitHUD __instance) { if (__instance == null || !Main.config.bHUDAbsoluteValues || Player.main == null) { return; } exosuit = Player.main.GetVehicle() as Exosuit; if (exosuit == null) { return; } if (exosuit.liveMixin == null) { return; } //Log.LogDebug($"ExosuitHUDPatches.PostUpdate() begin"); int charge; //float capacity; if (__instance.textHealth != null) { int health = Mathf.RoundToInt(exosuit.liveMixin.health); __instance.textHealth.text = IntStringCache.GetStringForInt(health); } if (__instance.textPower != null) { EnergyInterface energy = (EnergyInterface)(ExosuitPatches.energyInterfaceField.GetValue(exosuit)); if (energy == null) { return; } //energy.GetValues(out charge, out capacity); charge = Mathf.RoundToInt(energy.TotalCanProvide(out int i)); //ErrorMessage.AddMessage($"Current Charge {charge}"); __instance.textPower.text = IntStringCache.GetStringForInt(charge); __instance.textPower.fontSize = (charge > 9999 ? 28 : 36); } //Log.LogDebug($"ExosuitHUDPatches.PostUpdate() finish"); }