feat(UXAssist): show original building buffer values

This commit is contained in:
2026-07-22 15:50:16 +08:00
parent 69d5a4b3ce
commit 0e09c17ea0
3 changed files with 26 additions and 2 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ DSP_Mods/
| Mod | GUID | Description | | Mod | GUID | Description |
|-----|------|-------------| |-----|------|-------------|
| **UXAssist** | `org.soardev.uxassist` | Core QoL mod and shared library. Window resize, profile-based saves, FPS control, factory/logistics/navigation/Dyson Sphere tweaks, UI improvements, config panel UI, and `Common/` + `UI/` widget library shared by other mods. The Logistics tab can push auto-config values to all existing facilities of a type on the current planet (per-setting `Apply` and per-category `Apply All` buttons), and can set both product limits of every Orbital Collector across all loaded factories; logic is in `LogisticsPatch.Apply*`/`ForEach*` and wired in `UIConfigWindow`. | | **UXAssist** | `org.soardev.uxassist` | Core QoL mod and shared library. Window resize, profile-based saves, FPS control, factory/logistics/navigation/Dyson Sphere tweaks, UI improvements, config panel UI, and `Common/` + `UI/` widget library shared by other mods. The Factory tab's building-buffer controls include a comparison tip with the original game values. The Logistics tab can push auto-config values to all existing facilities of a type on the current planet (per-setting `Apply` and per-category `Apply All` buttons), and can set both product limits of every Orbital Collector across all loaded factories; logic is in `LogisticsPatch.Apply*`/`ForEach*` and wired in `UIConfigWindow`. |
| **CheatEnabler** | `org.soardev.cheatenabler` | Cheat pack (depends on UXAssist). Instant build, architect mode, infinite resources, power boosts, Dyson Sphere cheats with a bounded shell-count input (199,999), mecha invincibility, and more. | | **CheatEnabler** | `org.soardev.cheatenabler` | Cheat pack (depends on UXAssist). Instant build, architect mode, infinite resources, power boosts, Dyson Sphere cheats with a bounded shell-count input (199,999), mecha invincibility, and more. |
| **LogisticMiner** | — | Makes logistic stations automatically mine ores and water from the current planet. | | **LogisticMiner** | — | Makes logistic stations automatically mine ores and water from the current planet. |
| **HideTips** | — | Suppresses all tutorial popups, random tips, achievement/milestone cards, and skips the prologue cutscene. | | **HideTips** | — | Suppresses all tutorial popups, random tips, achievement/milestone cards, and skips the prologue cutscene. |
+22
View File
@@ -142,6 +142,7 @@ public static class I18NKeys
public const string RealTimeLogisticStationsInfoPanel = "Real-time logistic stations info panel"; public const string RealTimeLogisticStationsInfoPanel = "Real-time logistic stations info panel";
public const string ShowStatusBarsForStorageItems = "Show status bars for storage items"; public const string ShowStatusBarsForStorageItems = "Show status bars for storage items";
public const string TweakBuildingBuffers = "Tweak building buffers"; public const string TweakBuildingBuffers = "Tweak building buffers";
public const string TweakBuildingBuffersTips = "Tweak building buffers tips";
public const string AssemblerBufferTimeMultiplierInSeconds = "Assembler buffer time multiplier(in seconds)"; public const string AssemblerBufferTimeMultiplierInSeconds = "Assembler buffer time multiplier(in seconds)";
public const string AssemblerBufferMinimumMultiplier = "Assembler buffer minimum multiplier"; public const string AssemblerBufferMinimumMultiplier = "Assembler buffer minimum multiplier";
public const string BufferCountForAssemblingInLabs = "Buffer count for assembling in labs"; public const string BufferCountForAssemblingInLabs = "Buffer count for assembling in labs";
@@ -380,6 +381,27 @@ Quick-set item filter while right-clicking item icons in storage list on the pan
I18N.Add(RealTimeLogisticStationsInfoPanel, "Real-time logistic stations info panel", "物流运输站实时信息面板"); I18N.Add(RealTimeLogisticStationsInfoPanel, "Real-time logistic stations info panel", "物流运输站实时信息面板");
I18N.Add(ShowStatusBarsForStorageItems, "Show status bars for storage items", "显示存储物品状态条"); I18N.Add(ShowStatusBarsForStorageItems, "Show status bars for storage items", "显示存储物品状态条");
I18N.Add(TweakBuildingBuffers, "Tweak building buffers", "调整建筑输入缓冲"); I18N.Add(TweakBuildingBuffers, "Tweak building buffers", "调整建筑输入缓冲");
I18N.Add(TweakBuildingBuffersTips, """
Original in-game values:
Assembler buffer time multiplier (in seconds): 4
Assembler buffer minimum multiplier: 2
Buffer count for assembling in labs: 6
Extra buffer count for Self-evolution Labs: 3
Buffer count for researching in labs: 10
Ray Receiver Graviton Lens buffer count: 20
Ejector Solar Sails buffer count: 20
Silo Rockets buffer count: 20
""", """
4
2
6
3
10
线20
20
20
""");
I18N.Add(AssemblerBufferTimeMultiplierInSeconds, "Assembler buffer time multiplier(in seconds)", "工厂配方缓冲时间倍率(秒)"); I18N.Add(AssemblerBufferTimeMultiplierInSeconds, "Assembler buffer time multiplier(in seconds)", "工厂配方缓冲时间倍率(秒)");
I18N.Add(AssemblerBufferMinimumMultiplier, "Assembler buffer minimum multiplier", "工厂配方缓冲最小倍率"); I18N.Add(AssemblerBufferMinimumMultiplier, "Assembler buffer minimum multiplier", "工厂配方缓冲最小倍率");
I18N.Add(BufferCountForAssemblingInLabs, "Buffer count for assembling in labs", "研究站矩阵合成模式缓存数量"); I18N.Add(BufferCountForAssemblingInLabs, "Buffer count for assembling in labs", "研究站矩阵合成模式缓存数量");
+3 -1
View File
@@ -375,7 +375,9 @@ public static class UIConfigWindow
{ {
y += 36f; y += 36f;
wnd.AddCheckBox(x, y, tab2, FactoryConfigProvider.TweakBuildingBufferEnabled, I18NKeys.TweakBuildingBuffers); checkBoxForMeasureTextWidth = wnd.AddCheckBox(x, y, tab2, FactoryConfigProvider.TweakBuildingBufferEnabled, I18NKeys.TweakBuildingBuffers);
wnd.AddTipsButton2(x + checkBoxForMeasureTextWidth.Width + 5f, y + 6f, tab2, I18NKeys.TweakBuildingBuffers,
I18NKeys.TweakBuildingBuffersTips, "tweak-building-buffers-tips");
y += 27f; y += 27f;
txt = wnd.AddText2(x + 20f, y, tab2, I18NKeys.AssemblerBufferTimeMultiplierInSeconds, 13); txt = wnd.AddText2(x + 20f, y, tab2, I18NKeys.AssemblerBufferTimeMultiplierInSeconds, 13);
var nx1 = txt.preferredWidth + 5f; var nx1 = txt.preferredWidth + 5f;