private static void OnMergeGridSuccess(MySyncGrid sync, ref MergeMsg msg, MyNetworkClient sender) { MyCubeGrid grid = null; if (MyEntities.TryGetEntityById<MyCubeGrid>(msg.OtherEntityId, out grid)) { Vector3I gridOffset = msg.GridOffset; MatrixI transform = new MatrixI(msg.GridOffset, msg.GridForward, msg.GridUp); sync.Entity.MergeGridInternal(grid, ref transform); } }
internal void MergeGrid(MyCubeGrid gridToMerge, ref MatrixI transform) { var msg = new MergeMsg(); msg.GridEntityId = Entity.EntityId; msg.OtherEntityId = gridToMerge.EntityId; msg.GridOffset = transform.Translation; msg.GridForward = transform.Forward; msg.GridUp = transform.Up; Sync.Layer.SendMessageToAll(ref msg); }