Exemplo n.º 1
0
        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";
            }
        }
Exemplo n.º 2
0
        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");
        }