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);
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
 public static void Show(ModuleFillerParameters parameters)
 {
     Instance.modules = parameters;
     MainScreen.Instance.ShowPseudoScreen(Instance);
 }