Example #1
0
        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();
        }
Example #2
0
        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();
        }