SEToolbox.Models.ExplorerModel.RejoinBrokenShip C# (CSharp) Method

RejoinBrokenShip() private method

Copy blocks from ship2 into ship1.
private RejoinBrokenShip ( StructureCubeGridModel model1, StructureCubeGridModel model2 ) : void
model1 StructureCubeGridModel
model2 StructureCubeGridModel
return void
        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);
        }