1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2026-03-23 03:23:24 +08:00

UXAssist: fix re-initialize planet

This commit is contained in:
2026-02-10 15:39:53 +08:00
parent 29b30996e6
commit a5009496d5
3 changed files with 33 additions and 12 deletions

View File

@@ -3,6 +3,14 @@
## Changlog ## Changlog
* 1.5.3
* New feature: `Auto-contruct`
* Fly to buildings to be contructed automatically.
* `Auto-cruise`: Do not try to fly away planet when `Drive Engine 2` is not researched.
* `Re-intialize planet`: Fix logistic station ships rendering issue.
* Copying Wireless Power Tower works as expected when `Drag building power poles in maximum connection range` and `Build Tesla Tower and Wireless Power Tower alternately` are enabled.
* `Belt signals for buy out dark fog items automatically`: Grid position on panel is moved to avoid conflict with newly added signals.
* Fix implementation of ``Restore upgrades of `Sorter Cargo Stacking` on panel`` to make it working again.
* 1.5.2 * 1.5.2
* Fix crash while error occurs on milkyway login/upload. * Fix crash while error occurs on milkyway login/upload.
* 1.5.1 * 1.5.1
@@ -369,6 +377,14 @@
## 更新日志 ## 更新日志
* 1.5.3
* 新功能:`自动建造`
* 自动飞行到待建造的建筑处进行建造。
* `自动巡航`在未研究“驾驶舱引擎2”时不再尝试飞离行星
* `初始化行星`:修复物流塔运输船显示异常的问题
* 当启用`拖动建造电线杆时自动使用最大连接距离间隔``交替建造电力感应塔和无线输电塔`时,对复制无线输电塔也生效了
* `用于自动购买黑雾物品的传送带信号`:移动了其面板网格位置,避免与新添加的信号冲突
* 修复``在升级面板上恢复`分拣器货物堆叠`的升级``的实现,使其重新工作
* 1.5.2 * 1.5.2
* 修复在银河系登录/上传出错时崩溃的问题 * 修复在银河系登录/上传出错时崩溃的问题
* 1.5.1 * 1.5.1
@@ -415,7 +431,7 @@
* 修复了配置窗口标签按钮的背景图像问题 * 修复了配置窗口标签按钮的背景图像问题
* 现在使用C#的`Debug`配置构建,以避免`Release`配置中的优化导致的一些问题 * 现在使用C#的`Debug`配置构建,以避免`Release`配置中的优化导致的一些问题
* 1.3.7 * 1.3.7
* `重新初始化行星`: 修复可能导致崩溃的问题 * `初始化行星`: 修复可能导致崩溃的问题
* `自动配置物流站`: 增加`设置默认远程逻辑为仓储` * `自动配置物流站`: 增加`设置默认远程逻辑为仓储`
* 1.3.6 * 1.3.6
* `拆除蓝图选中的建筑` * `拆除蓝图选中的建筑`
@@ -432,7 +448,7 @@
* 1.3.3 * 1.3.3
* `星图过滤器`当过滤器UI显示时隐藏顶部重叠窗口 * `星图过滤器`当过滤器UI显示时隐藏顶部重叠窗口
* `自动配置物流站`:现在可以为战场分析基站设置最大充能功率 * `自动配置物流站`:现在可以为战场分析基站设置最大充能功率
* `重新初始化行星`:修复崩溃问题 * `初始化行星`:修复崩溃问题
* `航行时自动导航` * `航行时自动导航`
* 添加快速启用/禁用`自动巡航`的按钮 * 添加快速启用/禁用`自动巡航`的按钮
* 如果所需科技未研究则不自动使用翘曲器 * 如果所需科技未研究则不自动使用翘曲器

View File

@@ -114,18 +114,18 @@ public static class PlanetFunctions
constructionModule.tmpTargetsHash = null; constructionModule.tmpTargetsHash = null;
constructionModule.checkItemCursor = 0; constructionModule.checkItemCursor = 0;
var gameData = GameMain.data;
//planet.data = new PlanetRawData(planet.precision); //planet.data = new PlanetRawData(planet.precision);
//planet.data.CalcVerts(); //planet.data.CalcVerts();
var stationPool = factory.transport?.stationPool; var stationPool = factory.transport?.stationPool;
if (stationPool != null) if (stationPool != null)
{ {
foreach (var sc in stationPool) for (var i = factory.transport.stationCursor - 1; i > 0; i--)
{ {
if (sc is not { id: > 0 }) continue; var sc = stationPool[i];
for (var i = sc.storage.Length - 1; i >= 0; i--) if (sc.id != i) continue;
{ gameData.galacticTransport.RemoveStationComponent(sc.id);
sc.storage[i].count = 0; sc.Reset();
}
} }
} }
@@ -237,9 +237,9 @@ public static class PlanetFunctions
factory.PlanetReformRevert(); factory.PlanetReformRevert();
} }
GameMain.data.LeavePlanet(); gameData.LeavePlanet();
var index = factory.index; var index = factory.index;
var warningSystem = GameMain.data.warningSystem; var warningSystem = gameData.warningSystem;
var warningPool = warningSystem.warningPool; var warningPool = warningSystem.warningPool;
for (var i = warningSystem.warningCursor - 1; i >= 0; i--) for (var i = warningSystem.warningCursor - 1; i >= 0; i--)
{ {
@@ -309,8 +309,9 @@ public static class PlanetFunctions
factory.combatGroundSystem = new CombatGroundSystem(planet); factory.combatGroundSystem = new CombatGroundSystem(planet);
factory.defenseSystem = new DefenseSystem(planet); factory.defenseSystem = new DefenseSystem(planet);
factory.planetATField = new PlanetATField(planet); factory.planetATField = new PlanetATField(planet);
factory.transport = new PlanetTransport(GameMain.data, planet); factory.transport = new PlanetTransport(gameData, planet);
factory.transport.Init(); factory.transport.Init();
factory.RefreshHashSystems();
var mem = new MemoryStream(); var mem = new MemoryStream();
var writer = new BinaryWriter(mem); var writer = new BinaryWriter(mem);
factory.platformSystem.Export(writer); factory.platformSystem.Export(writer);
@@ -323,7 +324,7 @@ public static class PlanetFunctions
factory.digitalSystem = new DigitalSystem(planet); factory.digitalSystem = new DigitalSystem(planet);
//GameMain.data.statistics.production.CreateFactoryStat(index); //GameMain.data.statistics.production.CreateFactoryStat(index);
GameMain.data.ArrivePlanet(planet); gameData.ArrivePlanet(planet);
} }
public static void BuildOrbitalCollectors() public static void BuildOrbitalCollectors()

View File

@@ -60,6 +60,8 @@
* Do not render factory entities (except belts and sorters) * Do not render factory entities (except belts and sorters)
* This also makes players click though factory entities but belts and sorters * This also makes players click though factory entities but belts and sorters
* Drag building power poles in maximum connection range * Drag building power poles in maximum connection range
* Auto-construct
* Fly to buildings to be contructed automatically
* Dismantle blueprint selected buildings * Dismantle blueprint selected buildings
* Press shortcut key in blueprint copy mode to dismantle selected buildings. * Press shortcut key in blueprint copy mode to dismantle selected buildings.
* The default shortcut key is Ctrl+X, you can set it in system options panel. * The default shortcut key is Ctrl+X, you can set it in system options panel.
@@ -220,6 +222,8 @@
* 不渲染工厂建筑实体(除了传送带和分拣器) * 不渲染工厂建筑实体(除了传送带和分拣器)
* 这也使玩家可以点穿工厂实体直接点到传送带和分拣器 * 这也使玩家可以点穿工厂实体直接点到传送带和分拣器
* 拖动建造电线杆时自动使用最大连接距离间隔 * 拖动建造电线杆时自动使用最大连接距离间隔
* 自动建造
* 自动飞向待建造的建筑
* 拆除蓝图选中的建筑 * 拆除蓝图选中的建筑
* 在蓝图复制模式下按快捷键拆除选中的建筑 * 在蓝图复制模式下按快捷键拆除选中的建筑
* 默认快捷键是Ctrl+X可以在系统选项面板中设置 * 默认快捷键是Ctrl+X可以在系统选项面板中设置