private static void OnCreateSplits(MySyncGrid syncGrid, ref CreateSplitsMsg msg, MyNetworkClient sender) { m_tmpBlockListReceive.Clear(); var grid = syncGrid.Entity; foreach (var b in msg.SplitBlocks) { var block = grid.GetCubeBlock(b); m_tmpBlockListReceive.Add(block); // Add even null, we cannot break the order } MyCubeGrid.CreateSplits(grid, m_tmpBlockListReceive, msg.Groups, false); m_tmpBlockListReceive.Clear(); }
public void AnnounceCreateSplits(List<MySlimBlock> splitBlocks, List<MyDisconnectHelper.Group> groups) { m_tmpPositionListSend.Clear(); CreateSplitsMsg msg = new CreateSplitsMsg(); msg.GridEntityId = this.Entity.EntityId; msg.Groups = groups; msg.SplitBlocks = m_tmpPositionListSend; foreach (var b in splitBlocks) { msg.SplitBlocks.Add(b.Position); } Sync.Layer.SendMessageToAll(ref msg); m_tmpPositionListSend.Clear(); }