Skip to content

Commit bc38f88

Browse files
committed
Fixed saving when no length fix toggle is found.
1 parent 8d34263 commit bc38f88

1 file changed

Lines changed: 25 additions & 9 deletions

File tree

EasyScale/EasyScaleController.cs

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,38 @@ public class EasyScaleController : SingleInstance<EasyScaleController>
1515

1616
internal void OnMachineSave(MachineInfo info)
1717
{
18-
foreach (var blockinfo in info.Blocks.FindAll(b => b.ID == (int)BlockType.Brace))
18+
try
1919
{
20-
var block = Machine.Active().BuildingBlocks.Find(b => b.Guid == blockinfo.Guid);
21-
if (block.Toggles.Find(toggle => toggle.Key == "length-fix").IsActive)
22-
blockinfo.BlockData.Write("bmt-length-fix", true);
20+
foreach (var blockinfo in info.Blocks.FindAll(b => b.ID == (int)BlockType.Brace))
21+
{
22+
var block = ReferenceMaster.BuildingBlocks.Find(b => b.Guid == blockinfo.Guid);
23+
if (block != null &&
24+
block.Toggles.Find(toggle => toggle.Key == "length-fix") != null &&
25+
block.Toggles.Find(toggle => toggle.Key == "length-fix").IsActive)
26+
blockinfo.BlockData.Write("bmt-length-fix", true);
27+
}
28+
}
29+
catch (Exception e)
30+
{
31+
ModConsole.AddMessage(LogType.Error, "[EasyScale]: Error saving length fix braces.", e.Message + "\n" + e.StackTrace);
2332
}
2433
}
2534

2635
internal void OnMachineLoad(MachineInfo info)
2736
{
28-
LoadedCylinderFix = new List<Guid>();
29-
foreach (var blockinfo in info.Blocks.FindAll(b => b.ID == (int)BlockType.Brace))
37+
try
38+
{
39+
LoadedCylinderFix = new List<Guid>();
40+
foreach (var blockinfo in info.Blocks.FindAll(b => b.ID == (int)BlockType.Brace))
41+
{
42+
if (blockinfo.BlockData.HasKey("bmt-length-fix") &&
43+
blockinfo.BlockData.ReadBool("bmt-length-fix"))
44+
LoadedCylinderFix.Add(blockinfo.Guid);
45+
}
46+
}
47+
catch (Exception e)
3048
{
31-
if (blockinfo.BlockData.HasKey("bmt-length-fix") &&
32-
blockinfo.BlockData.ReadBool("bmt-length-fix"))
33-
LoadedCylinderFix.Add(blockinfo.Guid);
49+
ModConsole.AddMessage(LogType.Error, "[EasyScale]: Error saving length fix braces.", e.Message + "\n" + e.StackTrace);
3450
}
3551
}
3652

0 commit comments

Comments
 (0)