mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2025-12-08 20:13:29 +08:00
crash fix
This commit is contained in:
@@ -124,7 +124,7 @@ public class Miner : PatchImpl<Miner>
|
|||||||
|
|
||||||
[HarmonyPrefix]
|
[HarmonyPrefix]
|
||||||
[HarmonyPatch(typeof(GameLogic), nameof(GameLogic.OnFactoryFrameBegin))]
|
[HarmonyPatch(typeof(GameLogic), nameof(GameLogic.OnFactoryFrameBegin))]
|
||||||
private static void GameData_GameTick_Prefix()
|
private static void GameLogic_OnFactoryFrameBegin_Prefix()
|
||||||
{
|
{
|
||||||
var main = GameMain.instance;
|
var main = GameMain.instance;
|
||||||
if (main.isMenuDemo) return;
|
if (main.isMenuDemo) return;
|
||||||
@@ -139,7 +139,7 @@ public class Miner : PatchImpl<Miner>
|
|||||||
|
|
||||||
DeepProfiler.BeginSample(DPEntry.Miner);
|
DeepProfiler.BeginSample(DPEntry.Miner);
|
||||||
var data = GameMain.data;
|
var data = GameMain.data;
|
||||||
if (data.factoryCount > _mineIndex.Length)
|
if (_mineIndex == null || data.factoryCount > _mineIndex.Length)
|
||||||
Array.Resize(ref _mineIndex, data.factoryCount);
|
Array.Resize(ref _mineIndex, data.factoryCount);
|
||||||
var factoryStatPool = GameMain.statistics.production.factoryStatPool;
|
var factoryStatPool = GameMain.statistics.production.factoryStatPool;
|
||||||
for (var factoryIndex = data.factoryCount - 1; factoryIndex >= 0; factoryIndex--)
|
for (var factoryIndex = data.factoryCount - 1; factoryIndex >= 0; factoryIndex--)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
* Miner(and fuel burning) functions
|
* Miner(and fuel burning) functions
|
||||||
+Inspired by [PlanetMiner](https://dsp.thunderstore.io/package/blacksnipebiu/PlanetMiner)([github](https://github.com/blacksnipebiu/PlanetMiner))
|
+ Inspired by [PlanetMiner](https://dsp.thunderstore.io/package/blacksnipebiu/PlanetMiner)([github](https://github.com/blacksnipebiu/PlanetMiner))
|
||||||
But it is heavily optimized to resolve performance, accuracy and other issues in PlanetMiner.
|
But it is heavily optimized to resolve performance, accuracy and other issues in PlanetMiner.
|
||||||
+ (Optimization to PlanetMiner) Only recalculate count of veins when vein chunks are changed (added/removed by foundations/Sandbox-Mode, or exhausted), so this removes Dictionary allocation on each planet for every frame.
|
+ (Optimization to PlanetMiner) Only recalculate count of veins when vein chunks are changed (added/removed by foundations/Sandbox-Mode, or exhausted), so this removes Dictionary allocation on each planet for every frame.
|
||||||
+ (Optimization to PlanetMiner) More accurate frame counting by use float number.
|
+ (Optimization to PlanetMiner) More accurate frame counting by use float number.
|
||||||
|
|||||||
Reference in New Issue
Block a user