private static void OnMessageCompressedRequest(ref MergingCopyPasteCompressedMsg msg, MyNetworkClient sender) { MySandboxGame.Log.WriteLine("MergingCopyPasteCompressedMsg received"); MySession.Static.SyncLayer.SendMessageToAllButOne(ref msg.CreateMessage, sender.SteamUserId); MyEntity firstEntity = OnMessageCompressedInternal(ref msg.CreateMessage); MyEntity entity; MyEntities.TryGetEntityById(msg.MergeGridId, out entity); MyCubeGrid grid = entity as MyCubeGrid; Debug.Assert(grid != null); if (grid == null) { return; } MyCubeGrid mergingGrid = firstEntity as MyCubeGrid; Debug.Assert(mergingGrid != null); if (mergingGrid == null) { return; } Vector3I offset = msg.MergeOffset; MatrixI mergeOffset = new MatrixI(ref offset, msg.MergeForward, msg.MergeUp); grid.MergeGrid_CopyPaste(mergingGrid, mergeOffset); }
private static void OnMessageCompressedRequest(ref MergingCopyPasteCompressedMsg msg, MyNetworkClient sender) { MySandboxGame.Log.WriteLine("MergingCopyPasteCompressedMsg received"); MySession.Static.SyncLayer.SendMessageToAllButOne(ref msg.CreateMessage, sender.SteamUserId); MyEntity firstEntity = OnMessageCompressedInternal(ref msg.CreateMessage); MyEntity entity; MyEntities.TryGetEntityById(msg.MergeGridId, out entity); MyCubeGrid grid = entity as MyCubeGrid; Debug.Assert(grid != null); if (grid == null) return; MyCubeGrid mergingGrid = firstEntity as MyCubeGrid; Debug.Assert(mergingGrid != null); if (mergingGrid == null) return; Vector3I offset = msg.MergeOffset; MatrixI mergeOffset = new MatrixI(ref offset, msg.MergeForward, msg.MergeUp); grid.MergeGrid_CopyPaste(mergingGrid, mergeOffset); }