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:
@@ -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);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
+ `不渲染工厂建筑实体(除了传送带和分拣器)`的改动
|
+ `不渲染工厂建筑实体(除了传送带和分拣器)`的改动
|
||||||
- 在配置面板中添加了一个快捷键来切换此功能
|
- 在配置面板中添加了一个快捷键来切换此功能
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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": [
|
||||||
|
|||||||
Reference in New Issue
Block a user