mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2025-12-10 06:43:27 +08:00
belt signal fix
This commit is contained in:
@@ -540,6 +540,8 @@ public static class FactoryPatch
|
|||||||
inc = 0;
|
inc = 0;
|
||||||
speedLimit = number;
|
speedLimit = number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (speedLimit > 3600) speedLimit = 3600;
|
||||||
|
|
||||||
var signalBelts = GetOrCreateSignalBelts(factory);
|
var signalBelts = GetOrCreateSignalBelts(factory);
|
||||||
if (signalBelts.TryGetValue(beltId, out var oldBeltSignal))
|
if (signalBelts.TryGetValue(beltId, out var oldBeltSignal))
|
||||||
@@ -823,11 +825,18 @@ public static class FactoryPatch
|
|||||||
}
|
}
|
||||||
case >= 1000 and < 20000:
|
case >= 1000 and < 20000:
|
||||||
{
|
{
|
||||||
if (beltSignal.SpeedLimit > 0)
|
var hasSpeedLimit = beltSignal.SpeedLimit > 0;
|
||||||
|
if (hasSpeedLimit)
|
||||||
{
|
{
|
||||||
beltSignal.Progress += beltSignal.SpeedLimit;
|
beltSignal.Progress += beltSignal.SpeedLimit;
|
||||||
if (beltSignal.Progress < 3600) continue;
|
switch (beltSignal.Progress)
|
||||||
beltSignal.Progress %= 3600;
|
{
|
||||||
|
case < 3600:
|
||||||
|
continue;
|
||||||
|
case > 18000:
|
||||||
|
beltSignal.Progress = 14400;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var beltId = pair.Key;
|
var beltId = pair.Key;
|
||||||
@@ -837,6 +846,7 @@ public static class FactoryPatch
|
|||||||
var stack = beltSignal.Stack;
|
var stack = beltSignal.Stack;
|
||||||
var inc = beltSignal.Inc;
|
var inc = beltSignal.Inc;
|
||||||
if (!cargoPath.TryInsertItem(belt.segIndex + belt.segPivotOffset, signalId, stack, inc)) continue;
|
if (!cargoPath.TryInsertItem(belt.segIndex + belt.segPivotOffset, signalId, stack, inc)) continue;
|
||||||
|
if (hasSpeedLimit) beltSignal.Progress -= 3600;
|
||||||
productRegister[signalId] += stack;
|
productRegister[signalId] += stack;
|
||||||
if (!countRecipe) continue;
|
if (!countRecipe) continue;
|
||||||
var sources = beltSignal.Sources;
|
var sources = beltSignal.Sources;
|
||||||
|
|||||||
Reference in New Issue
Block a user