mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2025-12-09 06:13:36 +08:00
WIP
This commit is contained in:
@@ -27,6 +27,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LabOptPreloader", "LabOptPr
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DustbinPreloader", "DustbinPreloader\DustbinPreloader.csproj", "{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DustbinPreloader", "DustbinPreloader\DustbinPreloader.csproj", "{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoolOpt", "PoolOpt\PoolOpt.csproj", "{8BE61246-2C9D-4088-AA33-5AFF22C5046E}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@@ -81,5 +83,9 @@ Global
|
|||||||
{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}.Release|Any CPU.Build.0 = Release|Any CPU
|
{B8EB3D8D-5613-42F0-9040-EAA11A38C6AC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{8BE61246-2C9D-4088-AA33-5AFF22C5046E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{8BE61246-2C9D-4088-AA33-5AFF22C5046E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{8BE61246-2C9D-4088-AA33-5AFF22C5046E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{8BE61246-2C9D-4088-AA33-5AFF22C5046E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|||||||
78
PoolOpt/PoolOpt.cs
Normal file
78
PoolOpt/PoolOpt.cs
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
using BepInEx;
|
||||||
|
using HarmonyLib;
|
||||||
|
|
||||||
|
namespace PoolOpt;
|
||||||
|
|
||||||
|
[BepInPlugin(PluginInfo.PLUGIN_GUID, PluginInfo.PLUGIN_NAME, PluginInfo.PLUGIN_VERSION)]
|
||||||
|
public class PoolOptPatch : BaseUnityPlugin
|
||||||
|
{
|
||||||
|
public new static readonly BepInEx.Logging.ManualLogSource Logger =
|
||||||
|
BepInEx.Logging.Logger.CreateLogSource(PluginInfo.PLUGIN_NAME);
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
Harmony.CreateAndPatchAll(typeof(PoolOptPatch));
|
||||||
|
}
|
||||||
|
|
||||||
|
[HarmonyPostfix]
|
||||||
|
[HarmonyPatch(typeof(GameSave), nameof(GameSave.LoadCurrentGame))]
|
||||||
|
private static void GameSave_LoadCurrentGame_Postfix()
|
||||||
|
{
|
||||||
|
DebugOutput();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DebugOutput()
|
||||||
|
{
|
||||||
|
foreach (var planet in GameMain.data.factories)
|
||||||
|
{
|
||||||
|
if (planet == null) continue;
|
||||||
|
Logger.LogDebug($"Planet: {planet.planetId}");
|
||||||
|
var cargoTraffic = planet.cargoTraffic;
|
||||||
|
if (cargoTraffic != null)
|
||||||
|
{
|
||||||
|
Logger.LogDebug($" Cargo: Belt=[{cargoTraffic.beltCursor},{cargoTraffic.beltCapacity},{cargoTraffic.beltRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Path=[{cargoTraffic.pathCursor},{cargoTraffic.pathCapacity},{cargoTraffic.pathRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Splitter=[{cargoTraffic.splitterCursor},{cargoTraffic.splitterCapacity},{cargoTraffic.splitterRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Monitor=[{cargoTraffic.monitorCursor},{cargoTraffic.monitorCapacity},{cargoTraffic.monitorRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Spraycoater=[{cargoTraffic.spraycoaterCursor},{cargoTraffic.spraycoaterCapacity},{cargoTraffic.spraycoaterRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Piler=[{cargoTraffic.pilerCursor},{cargoTraffic.pilerCapacity},{cargoTraffic.pilerRecycleCursor}]");
|
||||||
|
}
|
||||||
|
|
||||||
|
var factoryStorage = planet.factoryStorage;
|
||||||
|
if (factoryStorage != null)
|
||||||
|
{
|
||||||
|
Logger.LogDebug($" Storage: Storage=[{factoryStorage.storageCursor},{factoryStorage.storageCapacity},{factoryStorage.storageRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Tank=[{factoryStorage.tankCursor},{factoryStorage.tankCapacity},{factoryStorage.tankRecycleCursor}]");
|
||||||
|
}
|
||||||
|
var factorySystem = planet.factorySystem;
|
||||||
|
if (factorySystem != null)
|
||||||
|
{
|
||||||
|
Logger.LogDebug($" Factory: Storage=[{factorySystem.minerCursor},{factorySystem.minerCapacity},{factorySystem.minerRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Inserter=[{factorySystem.inserterCursor},{factorySystem.inserterCapacity},{factorySystem.inserterRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Assembler=[{factorySystem.assemblerCursor},{factorySystem.assemblerCapacity},{factorySystem.assemblerRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Fractionator=[{factorySystem.fractionatorCursor},{factorySystem.fractionatorCapacity},{factorySystem.fractionatorRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Ejector=[{factorySystem.ejectorCursor},{factorySystem.ejectorCapacity},{factorySystem.ejectorRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Silo=[{factorySystem.siloCursor},{factorySystem.siloCapacity},{factorySystem.siloRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Lab=[{factorySystem.labCursor},{factorySystem.labCapacity},{factorySystem.labRecycleCursor}]");
|
||||||
|
}
|
||||||
|
|
||||||
|
var transport = planet.transport;
|
||||||
|
if (transport != null)
|
||||||
|
{
|
||||||
|
Logger.LogDebug($" Transport: Station=[{transport.stationCursor},{transport.stationCapacity},{transport.stationRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Dispenser=[{transport.dispenserCursor},{transport.dispenserCapacity},{transport.dispenserRecycleCursor}]");
|
||||||
|
}
|
||||||
|
|
||||||
|
var powerSystem = planet.powerSystem;
|
||||||
|
if (powerSystem != null)
|
||||||
|
{
|
||||||
|
Logger.LogDebug($" Power: Gen=[{powerSystem.genCursor},{powerSystem.genCapacity},{powerSystem.genRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" Node=[{powerSystem.nodeCursor},{powerSystem.nodeCapacity},{powerSystem.nodeRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" consumer=[{powerSystem.consumerCursor},{powerSystem.consumerCapacity},{powerSystem.consumerRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" acc=[{powerSystem.accCursor},{powerSystem.accCapacity},{powerSystem.accRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" exc=[{powerSystem.excCursor},{powerSystem.excCapacity},{powerSystem.excRecycleCursor}]");
|
||||||
|
Logger.LogDebug($" net=[{powerSystem.netCursor},{powerSystem.netCapacity},{powerSystem.netRecycleCursor}]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
27
PoolOpt/PoolOpt.csproj
Normal file
27
PoolOpt/PoolOpt.csproj
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net472</TargetFramework>
|
||||||
|
<AssemblyName>PoolOpt</AssemblyName>
|
||||||
|
<BepInExPluginGuid>org.soardev.poolopt</BepInExPluginGuid>
|
||||||
|
<Description>DSP MOD - PoolOpt</Description>
|
||||||
|
<Version>0.1.0</Version>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="BepInEx.Core" Version="5.*" />
|
||||||
|
<PackageReference Include="BepInEx.PluginInfoProps" Version="1.*" />
|
||||||
|
<PackageReference Include="DysonSphereProgram.GameLibs" Version="*-r.*" />
|
||||||
|
<PackageReference Include="UnityEngine.Modules" Version="2018.4.12" IncludeAssets="compile" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework.TrimEnd(`0123456789`))' == 'net'">
|
||||||
|
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||||
|
<Exec Command="del /F /Q package\$(ProjectName)-$(Version).zip
zip -9 -j package/$(ProjectName)-$(Version).zip $(TargetPath) package/icon.png package/manifest.json README.md" />
|
||||||
|
</Target>
|
||||||
|
</Project>
|
||||||
4
PoolOpt/README.md
Normal file
4
PoolOpt/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# PoolOpt
|
||||||
|
|
||||||
|
#### Optimize memory pools on loading gamesaves
|
||||||
|
#### 加载游戏存档时优化内存池的使用
|
||||||
BIN
PoolOpt/package/icon.png
Normal file
BIN
PoolOpt/package/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
9
PoolOpt/package/manifest.json
Normal file
9
PoolOpt/package/manifest.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "PoolOpt",
|
||||||
|
"version_number": "0.1.0",
|
||||||
|
"website_url": "https://github.com/soarqin/DSP_Mods/tree/master/PoolOpt",
|
||||||
|
"description": "Optimize memory pools on loading gamesaves / 加载游戏存档时优化内存池的使用",
|
||||||
|
"dependencies": [
|
||||||
|
"xiaoye97-BepInEx-5.4.17"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user