1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2025-12-09 16:13:31 +08:00

UXAssist 1.2.10

This commit is contained in:
2024-12-01 14:28:48 +08:00
parent 4b911263eb
commit 75147d7bc0
4 changed files with 23 additions and 27 deletions

View File

@@ -1,5 +1,8 @@
## Changlog ## Changlog
* 1.2.10
+ `Set enabled CPU threads`: Fix hybrid-architect check for CPUs without hyper-threading
+ `Re-initialize Dyson Spheres` and `Quick dismantle Dyson Shells`: Fix possible crashes and a display issue, while Dyson Sphere panel is actived.
* 1.2.9 * 1.2.9
+ `Protect veins from exhaustion`: + `Protect veins from exhaustion`:
- Fix a bug that vein protection causes crashes (#50). - Fix a bug that vein protection causes crashes (#50).
@@ -221,6 +224,9 @@
## 更新日志 ## 更新日志
* 1.2.10
+ `设置使用的CPU线程`修复了对没有超线程的CPU的大小核检查
+ `初始化戴森球``快速拆除戴森壳`:修复了在戴森球面板激活时可能导致崩溃的问题,以及显示错误的问题。
* 1.2.9 * 1.2.9
+ `保护矿脉不会耗尽` + `保护矿脉不会耗尽`
- 修复了矿脉保护导致崩溃的问题(#50) - 修复了矿脉保护导致崩溃的问题(#50)

View File

@@ -15,59 +15,49 @@ public static class DysonSphereFunctions
return star ?? GameMain.data?.localStar; return star ?? GameMain.data?.localStar;
} }
public static void InitCurrentDysonLayer(StarData star, int index) public static void InitCurrentDysonLayer(StarData star, int layerId)
{ {
star ??= CurrentStarForDysonSystem(); star ??= CurrentStarForDysonSystem();
if (star == null) return; if (star == null) return;
var dysonSpheres = GameMain.data?.dysonSpheres; var dysonSpheres = GameMain.data?.dysonSpheres;
if (dysonSpheres == null) return; if (dysonSpheres == null) return;
var dysonEditor = UIRoot.instance?.uiGame.dysonEditor; var dysonEditor = UIRoot.instance?.uiGame.dysonEditor;
if (index < 0) if (layerId < 0)
{ {
if (dysonSpheres[star.index] == null) return; if (dysonSpheres[star.index] == null) return;
var idsToRemove = dysonSpheres[star.index].layersSorted.Select(layer => layer.id).ToArray();
var dysonSphere = new DysonSphere(); var dysonSphere = new DysonSphere();
dysonSpheres[star.index] = dysonSphere; dysonSpheres[star.index] = dysonSphere;
dysonSphere.Init(GameMain.data, star); dysonSphere.Init(GameMain.data, star);
dysonSphere.ResetNew(); dysonSphere.ResetNew();
if (dysonEditor == null) return;
foreach (var id in idsToRemove) if (!dysonEditor) return;
if (dysonEditor.selection.viewStar == star)
{ {
if (!dysonEditor.IsRender(id, false, true)) dysonEditor.selection.viewDysonSphere = dysonSphere;
{ dysonEditor.selection.NotifyDysonShpereChange();
dysonEditor.SwitchRenderState(id, false, true);
}
if (!dysonEditor.IsRender(id, false, false))
{
dysonEditor.SwitchRenderState(id, false, false);
}
} }
dysonEditor.selection.ClearAllSelection();
return; return;
} }
var ds = dysonSpheres[star.index]; var ds = dysonSpheres[star.index];
if (ds?.layersIdBased[index] == null) return; if (ds?.layersIdBased[layerId] == null) return;
var pool = ds.rocketPool; var pool = ds.rocketPool;
var idToRemove = -1;
for (var id = ds.rocketCursor - 1; id > 0; id--) for (var id = ds.rocketCursor - 1; id > 0; id--)
{ {
if (pool[id].id != id) continue; if (pool[id].id != id) continue;
if (pool[id].nodeLayerId != index) continue; if (pool[id].nodeLayerId != layerId) continue;
ds.RemoveDysonRocket(id); ds.RemoveDysonRocket(id);
idToRemove = id;
break; break;
} }
if (idToRemove < 0) return; ds.RemoveLayer(layerId);
ds.RemoveLayer(idToRemove); if (!dysonEditor) return;
if (dysonEditor == null) return; if (!dysonEditor.IsRender(layerId, false, true))
if (!dysonEditor.IsRender(idToRemove, false, true))
{ {
dysonEditor.SwitchRenderState(idToRemove, false, true); dysonEditor.SwitchRenderState(layerId, false, true);
} }
if (!dysonEditor.IsRender(idToRemove, false, false)) if (!dysonEditor.IsRender(layerId, false, false))
{ {
dysonEditor.SwitchRenderState(idToRemove, false, false); dysonEditor.SwitchRenderState(layerId, false, false);
} }
dysonEditor.selection.ClearAllSelection(); dysonEditor.selection.ClearAllSelection();
} }

View File

@@ -4,7 +4,7 @@
<TargetFramework>net472</TargetFramework> <TargetFramework>net472</TargetFramework>
<BepInExPluginGuid>org.soardev.uxassist</BepInExPluginGuid> <BepInExPluginGuid>org.soardev.uxassist</BepInExPluginGuid>
<Description>DSP MOD - UXAssist</Description> <Description>DSP MOD - UXAssist</Description>
<Version>1.2.9</Version> <Version>1.2.10</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<PackageId>UXAssist</PackageId> <PackageId>UXAssist</PackageId>

View File

@@ -1,6 +1,6 @@
{ {
"name": "UXAssist", "name": "UXAssist",
"version_number": "1.2.9", "version_number": "1.2.10",
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/UXAssist", "website_url": "https://github.com/soarqin/DSP_Mods/tree/master/UXAssist",
"description": "Some functions and patches for better user experience / 一些提升用户体验的功能和补丁", "description": "Some functions and patches for better user experience / 一些提升用户体验的功能和补丁",
"dependencies": [ "dependencies": [