internal void RejoinBrokenShip(StructureCubeGridModel model1, StructureCubeGridModel model2)
{
// Copy blocks from ship2 into ship1.
model1.CubeGrid.CubeBlocks.AddRange(model2.CubeGrid.CubeBlocks);
// Merge Groupings
foreach (var group in model2.CubeGrid.BlockGroups)
{
var existingGroup = model1.CubeGrid.BlockGroups.FirstOrDefault(bg => bg.Name == group.Name);
if (existingGroup == null)
{
model1.CubeGrid.BlockGroups.Add(group);
}
else
{
existingGroup.Blocks.AddRange(group.Blocks);
}
}
// Merge ConveyorLines
model1.CubeGrid.ConveyorLines.AddRange(model2.CubeGrid.ConveyorLines);
}