private static void OnOffsetChangedRequest(ref OffsetMsg msg, MyNetworkClient sender) { Sync.Layer.SendMessageToAllAndSelf(ref msg, MyTransportMessageEnum.Success); }
private static void OnOffsetChangedSuccess(ref OffsetMsg msg, MyNetworkClient sender) { MyEntity projectorEntity; MyEntities.TryGetEntityById(msg.EntityId, out projectorEntity); var projector = projectorEntity as MyProjector; if (projector != null) { projector.SetNewOffset(msg.PositionOffset, msg.RotationOffset); projector.m_shouldUpdateProjection = true; } }
public void SendNewOffset(Vector3I positionOffset, Vector3I rotationOffset) { var msg = new OffsetMsg(); msg.EntityId = m_projector.EntityId; msg.PositionOffset = positionOffset; msg.RotationOffset = rotationOffset; if (Sync.IsServer) { Sync.Layer.SendMessageToAllAndSelf(ref msg, MyTransportMessageEnum.Success); } else { Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); } }