soarqin
ab1d20683d
fix(UXAssist): centralize mod-feature lifecycle to prevent duplicate execution
...
ModFeatureRegistry is a static class with shared collections accumulating
features from all mods. Dependent mods (CheatEnabler, UniverseGenTweaks)
each independently called InitAll/StartAll/OnInputUpdateAll/OnUpdateAll/
UninitAll, re-running lifecycle for ALL accumulated features including
other mods' — per-frame Update ran 2-3x (breaking CheatEnabler key toggles
to net no-ops), Init/Start/Uninit ran 2-3x (double RegisterExporter causing
save corruption, double SettingChanged subscriptions, double keybind
registration).
Fix:
- Init now runs eagerly at Discover/Register time (Awake-phase), preserving
the original timing that keybind registration depends on (game's
UIOptionWindow._OnCreate copies keybinds only after all plugins load)
- InitAll removed entirely
- StartAll/UninitAll/OnInputUpdateAll/OnUpdateAll made internal so only
UXAssist (host, same assembly, no InternalsVisibleTo) can drive them
- Start deferred to UXAssist.Start (after all dependents' Awake complete;
BepInEx runs all Awakes before any Start)
- Per-feature Started idempotency + per-frame Time.frameCount guards as
defense-in-depth
- Dependent mods reduced to Discover-only in Awake
Document the Init/Start timing contract on IModFeature and
ModFeatureAttribute so future mods can rely on it.
2026-06-29 02:56:54 +08:00
soarqin
036243fd4a
refactor: centralize localization keys and remove runtime Chinese literals
2026-06-23 21:19:42 +08:00
soarqin
f822c1a5c6
refactor(UXAssist): drive lifecycle and save dispatch via ModFeatureRegistry
2026-06-23 03:18:36 +08:00
soarqin
ce199374b4
refactor(UXAssist): split UIFunctions into UI sub-features
2026-06-23 03:13:23 +08:00
soarqin
dace35a691
refactor(UXAssist): split LogisticsPatch into focused classes
2026-06-23 02:56:19 +08:00
soarqin
f2abb7cc2c
refactor(UXAssist): split FactoryPatch into focused classes
2026-06-23 02:42:21 +08:00
soarqin
cc783937e6
chore: move Increase maximum power usage in Logistic Stations and Advanced Mining Machines from CheatEnabler to UXAssist
2026-06-16 22:56:01 +08:00
soarqin
5e501ea649
UXAssist: add 3 options to Initialize Planet
2026-03-07 19:42:14 +08:00
soarqin
2e13206346
UXAssist: bug fix
2026-02-13 23:29:22 +08:00
soarqin
39578559aa
UXAssist: Auto construct
2026-02-04 22:04:02 +08:00
soarqin
78e86aeafe
ready for next release of UXAssist
2026-01-23 03:05:40 +08:00
soarqin
b2c04c1dff
work in progress
2025-12-02 00:10:02 +08:00
soarqin
29ee32b11b
work in progress
2025-11-30 18:08:13 +08:00
soarqin
45445f82a1
UXAssist v1.4.5
2025-11-14 15:59:48 +08:00
soarqin
1a242af84e
work in progress
2025-11-14 15:42:24 +08:00
soarqin
6f5b779d58
work in progress
2025-11-12 02:43:26 +08:00
soarqin
96f160926c
work in progress
2025-11-10 22:39:58 +08:00
soarqin
052c23d3b7
ready for UXAssist 1.4.4 release
2025-11-06 00:45:40 +08:00
soarqin
d711dd25ef
remove cpu affinity settings, as they are officially supported
2025-09-29 23:34:17 +08:00
soarqin
e909b6d9d2
rename GameLogicProc back to make things compatible with old dependants
2025-09-29 23:34:17 +08:00
soarqin
9d9a12c1af
more fixes to make sure nothing working wrong on game
2025-09-29 23:34:17 +08:00
soarqin
1d11ba90bd
we make them compile first
2025-09-29 23:34:17 +08:00
soarqin
73ebcf1aa3
more works
2025-09-28 17:36:19 +08:00
soarqin
96a9e8a570
Logistics Panel Info fix
2025-09-24 02:51:41 +08:00
soarqin
0178c8cc2e
work in progress
2025-08-10 15:16:53 +08:00
soarqin
a9286d2839
UXAssist: add a minor option to auto logistics config
2025-06-04 11:44:13 +08:00
soarqin
dc246170ac
UXAssist: buffer tweaks for ejector and silo
2025-05-29 04:33:37 +08:00
soarqin
f7e1a27be1
UXAsisst 1.3.6
2025-05-25 10:55:03 +08:00
soarqin
586ce9a427
Auto-config logistic stations: Can set Max. Charging Power for Battlefield Analysis Base now.
2025-05-04 00:52:42 +08:00
soarqin
780ad3d3ec
minor fix, with TODO updated
2025-05-02 18:48:02 +08:00
soarqin
f407928579
UXAssist v1.3.2
2025-04-28 19:40:38 +08:00
soarqin
5545d7a2bf
UXAssist v1.3.2
2025-04-27 19:31:49 +08:00
soarqin
b86825c645
Add an option to auto-config logistics
2025-04-25 15:36:32 +08:00
soarqin
40aa331294
work in progress
2025-04-24 03:10:16 +08:00
soarqin
1ae4aa3ecb
work in progress
2025-04-23 02:50:33 +08:00
soarqin
e765f0f42d
work in progress
2025-04-22 01:58:07 +08:00
soarqin
2a3fed7180
UXAssist v1.2.20
2025-04-21 14:05:52 +08:00
soarqin
78379165e8
work in progress
2025-04-21 00:42:55 +08:00
soarqin
3c8f258a1b
UXAssist: new feature for 1.2.20
2025-04-19 22:40:26 +08:00
soarqin
1d01fdbd15
UXAssist v1.2.19
2025-04-16 15:49:14 +08:00
soarqin
db0970c3c4
UXAsssit: buffer count for LabComponent
2025-04-16 02:33:46 +08:00
soarqin
ac7f2ef63c
UXAssist WIP: finished shortcuts for show stars' name
2025-04-15 21:04:22 +08:00
soarqin
5674d601ec
WIP for UXAssist new features
2025-04-13 20:06:37 +08:00
soarqin
adcce8e298
UXAssist: add profile based option
2025-03-25 21:36:22 +08:00
soarqin
087ceac1e3
WIP for UXAssist 1.2.16
2025-03-17 17:37:41 +08:00
soarqin
833bc3b0ac
tip-fix
2024-12-06 21:21:51 +08:00
soarqin
26df57f911
WIP
2024-10-12 20:53:25 +08:00
soarqin
9d795e0ca4
WIP
2024-09-25 21:00:24 +08:00
soarqin
4534540786
Work in progress for UXAssist 1.2.5
2024-09-25 20:40:46 +08:00
soarqin
9d5af1c340
WIP
2024-09-24 21:24:21 +08:00