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

Support for DSP 0.10

This commit is contained in:
2023-12-15 20:59:48 +08:00
parent aae771d730
commit d4b1ea93c8
37 changed files with 377 additions and 126 deletions

View File

@@ -29,6 +29,10 @@ public class MoreSettings
private static Text _minStepText;
private static Text _maxStepText;
private static Text _flattenText;
private static Localizer _minDistLocalizer;
private static Localizer _minStepLocalizer;
private static Localizer _maxStepLocalizer;
private static Localizer _flattenLocalizer;
private static Harmony _harmony;
public static void Init()
@@ -58,12 +62,13 @@ public class MoreSettings
_harmony = null;
}
private static void CreateSliderWithText(Slider orig, out Text title, out Slider slider, out Text text)
private static void CreateSliderWithText(Slider orig, out Text title, out Slider slider, out Text text, out Localizer loc)
{
var origText = orig.transform.parent.GetComponent<Text>();
title = Object.Instantiate(origText, origText.transform.parent);
slider = title.transform.FindChildRecur("Slider").GetComponent<Slider>();
text = slider.transform.FindChildRecur("Text").GetComponent<Text>();
loc = title.GetComponent<Localizer>();
}
private static void TransformDeltaY(Transform trans, float delta)
@@ -79,10 +84,10 @@ public class MoreSettings
{
__instance.starCountSlider.maxValue = MaxStarCount.Value;
CreateSliderWithText(__instance.starCountSlider, out _minDistTitle, out _minDistSlider, out _minDistText);
CreateSliderWithText(__instance.starCountSlider, out _minStepTitle, out _minStepSlider, out _minStepText);
CreateSliderWithText(__instance.starCountSlider, out _maxStepTitle, out _maxStepSlider, out _maxStepText);
CreateSliderWithText(__instance.starCountSlider, out _flattenTitle, out _flattenSlider, out _flattenText);
CreateSliderWithText(__instance.starCountSlider, out _minDistTitle, out _minDistSlider, out _minDistText, out _minDistLocalizer);
CreateSliderWithText(__instance.starCountSlider, out _minStepTitle, out _minStepSlider, out _minStepText, out _minStepLocalizer);
CreateSliderWithText(__instance.starCountSlider, out _maxStepTitle, out _maxStepSlider, out _maxStepText, out _maxStepLocalizer);
CreateSliderWithText(__instance.starCountSlider, out _flattenTitle, out _flattenSlider, out _flattenText, out _flattenLocalizer);
_minDistTitle.name = "min-dist";
_minDistSlider.minValue = 10f;
@@ -108,6 +113,7 @@ public class MoreSettings
TransformDeltaY(_minStepTitle.transform, -36f * 2);
TransformDeltaY(_maxStepTitle.transform, -36f * 3);
TransformDeltaY(_flattenTitle.transform, -36f * 4);
TransformDeltaY(__instance.darkFogToggle.transform.parent, -36f * 4);
TransformDeltaY(__instance.resourceMultiplierSlider.transform.parent, -36f * 4);
TransformDeltaY(__instance.sandboxToggle.transform.parent, -36f * 4);
TransformDeltaY(__instance.propertyMultiplierText.transform, -36f * 4);
@@ -118,10 +124,31 @@ public class MoreSettings
[HarmonyPatch(typeof(UIGalaxySelect), nameof(UIGalaxySelect._OnOpen))]
private static void UIGalaxySelect__OnOpen_Prefix()
{
_minDistTitle.text = "恒星最小距离".Translate();
_minStepTitle.text = "步进最小距离".Translate();
_maxStepTitle.text = "步进最大距离".Translate();
_flattenTitle.text = "扁平度".Translate();
if (_minDistLocalizer)
{
_minDistLocalizer.stringKey = "恒星最小距离";
_minDistLocalizer.translation = "恒星最小距离".Translate();
}
_minDistText.text = "恒星最小距离".Translate();
if (_minStepLocalizer)
{
_minStepLocalizer.stringKey = "步进最小距离".Translate();
_minStepLocalizer.translation = "步进最小距离".Translate();
}
_minStepText.text = "步进最小距离".Translate();
if (_maxStepLocalizer)
{
_maxStepLocalizer.stringKey = "步进最大距离".Translate();
_maxStepLocalizer.text.text = "步进最大距离".Translate();
}
_maxStepText.text = "步进最大距离".Translate();
if (_flattenLocalizer)
{
_flattenLocalizer.stringKey = "扁平度".Translate();
_flattenLocalizer.translation = "扁平度".Translate();
}
_flattenText.text = "扁平度".Translate();
_minDistText.text = _minDist.ToString();
_minStepText.text = _minStep.ToString();
_maxStepText.text = _maxStep.ToString();
@@ -212,10 +239,10 @@ public class MoreSettings
[HarmonyPatch(typeof(GalaxyData), MethodType.Constructor)]
private static IEnumerable<CodeInstruction> GalaxyData_Constructor_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
{
// 25600 -> (MaxStarCount.Value + 1) * 100
// 25700 -> (MaxStarCount.Value + 1) * 100
var matcher = new CodeMatcher(instructions, generator);
matcher.MatchForward(false,
new CodeMatch(ci => ci.opcode == OpCodes.Ldc_I4 && ci.OperandIs(25600))
new CodeMatch(ci => ci.opcode == OpCodes.Ldc_I4 && ci.OperandIs(25700))
).SetAndAdvance(OpCodes.Ldsfld, AccessTools.Field(typeof(MoreSettings), nameof(MoreSettings.MaxStarCount))).Insert(
new CodeInstruction(OpCodes.Call, AccessTools.PropertyGetter(typeof(ConfigEntry<int>), nameof(ConfigEntry<int>.Value))),
new CodeInstruction(OpCodes.Ldc_I4_1),

View File

@@ -4,6 +4,8 @@
#### 宇宙生成参数调节
## Changelog
* 1.2.2
+ Support game version 0.10.28.20759
* 1.2.1
+ Use new tab layout of UXAssist 1.0.2
* 1.2.0
@@ -31,6 +33,8 @@
* High luminosity for birth star
## 更新日志
* 1.2.2
+ 支持游戏版本0.10.28.20759
* 1.2.1
+ 使用UXAssist 1.0.2的新页签布局
* 1.2.0

View File

@@ -6,7 +6,7 @@
<AssemblyName>UniverseGenTweaks</AssemblyName>
<BepInExPluginGuid>org.soardev.universegentweaks</BepInExPluginGuid>
<Description>DSP MOD - UniverseGenTweaks</Description>
<Version>1.2.1</Version>
<Version>1.2.2</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion>
<RestoreAdditionalProjectSources>https://nuget.bepinex.dev/v3/index.json</RestoreAdditionalProjectSources>
@@ -15,7 +15,7 @@
<ItemGroup>
<PackageReference Include="BepInEx.Core" Version="5.*" />
<PackageReference Include="BepInEx.PluginInfoProps" Version="1.*" />
<PackageReference Include="DysonSphereProgram.GameLibs" Version="*-r.*" />
<!--<PackageReference Include="DysonSphereProgram.GameLibs" Version="*-r.*" />-->
<PackageReference Include="UnityEngine.Modules" Version="2018.4.12" IncludeAssets="compile" />
</ItemGroup>
@@ -27,6 +27,27 @@
<ProjectReference Include="..\UXAssist\UXAssist.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="Assembly-CSharp">
<HintPath>..\GameAssembly\Assembly-CSharp.dll</HintPath>
</Reference>
<Reference Include="Unity.TextMeshPro">
<HintPath>..\GameAssembly\Unity.TextMeshPro.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.Networking">
<HintPath>..\GameAssembly\UnityEngine.Networking.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.SpatialTracking">
<HintPath>..\GameAssembly\UnityEngine.SpatialTracking.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.Timeline">
<HintPath>..\GameAssembly\UnityEngine.Timeline.dll</HintPath>
</Reference>
<Reference Include="UnityEngine.UI">
<HintPath>..\GameAssembly\UnityEngine.UI.dll</HintPath>
</Reference>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip&#xA;zip -9 -j package/$(ProjectName)-$(Version).zip $(TargetPath) package/icon.png package/manifest.json README.md" />
</Target>

View File

@@ -1,6 +1,6 @@
{
"name": "UniverseGenTweaks",
"version_number": "1.2.1",
"version_number": "1.2.2",
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/UniverseGenTweaks",
"description": "Universe Generation Tweaks / 宇宙生成参数调节",
"dependencies": [