public void GetModulesInfo(RecipeParameters recipeParams, Recipe recipe, Entity entity, Goods fuel, ref ModuleEffects effects, ref RecipeParameters.UsedModule used) { ModuleFillerParameters filler = null; if (modules == null || modules.beacon == null) { filler = GetModuleFiller(); } if (modules == null) { filler?.GetModulesInfo(recipeParams, recipe, entity, fuel, ref effects, ref used); } else { modules.GetModulesInfo(recipeParams, recipe, entity, fuel, ref effects, ref used, filler); } }
public static void BuildSimple(ImGui gui, ModuleFillerParameters modules) { var payback = modules.autoFillPayback; var modulesLog = MathUtils.LogarithmicToLinear(payback, ModulesMinPayback, ModulesMaxPayback); if (gui.BuildSlider(modulesLog, out var newValue)) { payback = MathUtils.LinearToLogarithmic(newValue, ModulesMinPayback, ModulesMaxPayback, 0f, float.MaxValue); // JSON can't handle infinities modules.RecordUndo().autoFillPayback = payback; } if (payback <= 0f) { gui.BuildText("Use no modules"); } else if (payback >= float.MaxValue) { gui.BuildText("Use best modules"); } else { gui.BuildText("Modules payback estimate: " + DataUtils.FormatTime(payback), wrap: true); } }
public static void Show(ModuleFillerParameters parameters) { Instance.modules = parameters; MainScreen.Instance.ShowPseudoScreen(Instance); }