1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2026-02-04 22:22:26 +08:00

UXAssist 1.0.25

This commit is contained in:
2024-05-24 21:30:25 +08:00
parent b1f27a2633
commit 2741069bc7
7 changed files with 30 additions and 24 deletions

View File

@@ -1292,16 +1292,21 @@ public static class FactoryPatch
if (enable) if (enable)
{ {
_patch ??= Harmony.CreateAndPatchAll(typeof(GreaterPowerUsageInLogistics)); _patch ??= Harmony.CreateAndPatchAll(typeof(GreaterPowerUsageInLogistics));
return;
} }
else
{
_patch?.UnpatchSelf(); _patch?.UnpatchSelf();
_patch = null; _patch = null;
} }
var window = UIRoot.instance?.uiGame?.stationWindow;
if (window == null) return;
window._Close();
window.maxMiningSpeedSlider.maxValue = enable ? 27f : 20f;
}
[HarmonyTranspiler] [HarmonyTranspiler]
[HarmonyPatch(typeof(UIStationWindow), nameof(UIStationWindow._OnInit))] [HarmonyPatch(typeof(UIStationWindow), nameof(UIStationWindow.OnStationIdChange))]
private static IEnumerable<CodeInstruction> UIStationWindow__OnInit_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator) private static IEnumerable<CodeInstruction> UIStationWindow_OnStationIdChange_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
{ {
var matcher = new CodeMatcher(instructions, generator); var matcher = new CodeMatcher(instructions, generator);
matcher.Start().Insert( matcher.Start().Insert(
@@ -1310,16 +1315,7 @@ public static class FactoryPatch
{ {
window.maxMiningSpeedSlider.maxValue = 27f; window.maxMiningSpeedSlider.maxValue = 27f;
}) })
); ).MatchForward(false,
return matcher.InstructionEnumeration();
}
[HarmonyTranspiler]
[HarmonyPatch(typeof(UIStationWindow), nameof(UIStationWindow.OnStationIdChange))]
private static IEnumerable<CodeInstruction> UIStationWindow_OnStationIdChange_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
{
var matcher = new CodeMatcher(instructions, generator);
matcher.MatchForward(false,
new CodeMatch(OpCodes.Ldarg_0), new CodeMatch(OpCodes.Ldarg_0),
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(UIStationWindow), nameof(UIStationWindow.maxChargePowerSlider))), new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(UIStationWindow), nameof(UIStationWindow.maxChargePowerSlider))),
new CodeMatch(ci => ci.IsLdloc()), new CodeMatch(ci => ci.IsLdloc()),
@@ -1344,9 +1340,9 @@ public static class FactoryPatch
window.maxChargePowerSlider.maxValue = maxSliderValue + 9; window.maxChargePowerSlider.maxValue = maxSliderValue + 9;
window.maxChargePowerSlider.minValue = maxWorkEnergy / 500000L; window.maxChargePowerSlider.minValue = maxWorkEnergy / 500000L;
if (workEnergyPerTick <= maxWorkEnergy) if (workEnergyPerTick <= maxWorkEnergy)
window.maxChargePowerSlider.value = workEnergyPerTick / 50000L; window.maxChargePowerSlider.Set(workEnergyPerTick / 50000L, false);
else else
window.maxChargePowerSlider.value = maxSliderValue + (workEnergyPerTick - 1) / maxWorkEnergy + 1; window.maxChargePowerSlider.Set(maxSliderValue + (workEnergyPerTick - 1) / maxWorkEnergy + 1, false);
}) })
); );

View File

@@ -112,6 +112,7 @@ public static class UIConfigWindow
x += 180f; x += 180f;
y += 6f; y += 6f;
var tip1 = MyWindow.AddTipsButton(x, y, tab2, "Belt signal alt format", "Belt signal alt format tips", "belt-signal-alt-format-tips"); var tip1 = MyWindow.AddTipsButton(x, y, tab2, "Belt signal alt format", "Belt signal alt format tips", "belt-signal-alt-format-tips");
x = 0f;
y += 30f; y += 30f;
MyCheckBox.CreateCheckBox(x, y, tab2, FactoryPatch.GreaterPowerUsageInLogisticsEnabled, "Increase maximum power usage in Logistic Stations and Advanced Mining Machines"); MyCheckBox.CreateCheckBox(x, y, tab2, FactoryPatch.GreaterPowerUsageInLogisticsEnabled, "Increase maximum power usage in Logistic Stations and Advanced Mining Machines");

View File

@@ -5,6 +5,6 @@
"description": "Add various cheat functions while disabling abnormal determinants / 添加一些作弊功能,同时屏蔽异常检测", "description": "Add various cheat functions while disabling abnormal determinants / 添加一些作弊功能,同时屏蔽异常检测",
"dependencies": [ "dependencies": [
"xiaoye97-BepInEx-5.4.17", "xiaoye97-BepInEx-5.4.17",
"soarqin-UXAssist-1.0.23" "soarqin-UXAssist-1.0.24"
] ]
} }

View File

@@ -1574,6 +1574,7 @@ public static class FactoryPatch
new CodeMatch(OpCodes.Ldc_I4_0), new CodeMatch(OpCodes.Ldc_I4_0),
new CodeMatch(OpCodes.Brtrue)); new CodeMatch(OpCodes.Brtrue));
var branch1 = (Label)matcher.Advance(1).Operand; var branch1 = (Label)matcher.Advance(1).Operand;
var branch2 = generator.DefineLabel();
matcher.Start().MatchForward(false, matcher.Start().MatchForward(false,
new CodeMatch(OpCodes.Call), new CodeMatch(OpCodes.Call),
new CodeMatch(ci => ci.IsStloc()), new CodeMatch(ci => ci.IsStloc()),
@@ -1584,12 +1585,16 @@ public static class FactoryPatch
new CodeMatch(ci => ci.IsLdloc()), new CodeMatch(ci => ci.IsLdloc()),
new CodeMatch(ci => ci.Branches(out _)), new CodeMatch(ci => ci.Branches(out _)),
new CodeMatch(OpCodes.Ldarg_0) new CodeMatch(OpCodes.Ldarg_0)
).Advance(8).Insert( ).Advance(8).InsertAndAdvance(
new CodeInstruction(OpCodes.Ldloc_S, 45), new CodeInstruction(OpCodes.Ldloc_S, 45),
new CodeInstruction(OpCodes.Ldloc_S, 47), new CodeInstruction(OpCodes.Brtrue, branch2),
new CodeInstruction(OpCodes.Or), new CodeInstruction(OpCodes.Ldarg_0),
new CodeInstruction(OpCodes.Ldloc_S, 33),
new CodeInstruction(OpCodes.Ldloc_S, 35),
Transpilers.EmitDelegate((RaycastLogic l, ColliderData[] colliderPool, int j) => l.factory.entityPool[colliderPool[j].objId].inserterId > 0),
new CodeInstruction(OpCodes.Brfalse, branch1) new CodeInstruction(OpCodes.Brfalse, branch1)
); );
matcher.Labels.Add(branch2);
return matcher.InstructionEnumeration(); return matcher.InstructionEnumeration();
} }
} }

View File

@@ -4,6 +4,8 @@
#### 一些提升用户体验的功能和补丁 #### 一些提升用户体验的功能和补丁
## Changlog ## Changlog
* 1.0.25
+ Fix an issue that building entites can not be clicked through when `Do not render factory entities (except belts and sorters)` is enabled
* 1.0.24 * 1.0.24
+ Changes to `Do not render factory entities (except belts and sorters)` + Changes to `Do not render factory entities (except belts and sorters)`
- Add shortcut key in config panel to toggle this function - Add shortcut key in config panel to toggle this function
@@ -183,6 +185,8 @@
* [CruiseAssist](https://dsp.thunderstore.io/package/tanu/CruiseAssist/) and its extension [AutoPilot](https://dsp.thunderstore.io/package/tanu/AutoPilot/): `Auto navigation on sailings` and `Auto-cruise` implementations * [CruiseAssist](https://dsp.thunderstore.io/package/tanu/CruiseAssist/) and its extension [AutoPilot](https://dsp.thunderstore.io/package/tanu/AutoPilot/): `Auto navigation on sailings` and `Auto-cruise` implementations
## 更新日志 ## 更新日志
* 1.0.25
+ 修复了`不渲染工厂建筑实体(除了传送带和分拣器)`启用时无法点穿工厂实体的问题
* 1.0.24 * 1.0.24
+ `不渲染工厂建筑实体(除了传送带和分拣器)`的改动 + `不渲染工厂建筑实体(除了传送带和分拣器)`的改动
- 在配置面板中添加了一个快捷键来切换此功能 - 在配置面板中添加了一个快捷键来切换此功能

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.0.24</Version> <Version>1.0.25</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.0.24", "version_number": "1.0.25",
"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": [