public static IPhysicsShape Unwrap(BasePhysicsShapeRemoteData data) { var collisionGroup = CollisionGroups.GetCollisionGroup(data.CollisionGroupId); return(data switch { CircleShapeRemoteData circleData => new CircleShape(circleData.Center, circleData.Radius, collisionGroup), RectangleShapeRemoteData rectangleData => new RectangleShape(rectangleData.Position, rectangleData.Size, collisionGroup), LineShapeRemoteData lineData => new LineShape(lineData.BasePosition, lineData.Direction, collisionGroup), LineSegmentShapeRemoteData lineSegmentData => new LineSegmentShape(lineSegmentData.Point1, lineSegmentData.Point2, collisionGroup), PointShapeRemoteData pointData => new PointShape(pointData.Point, collisionGroup), _ => throw new ArgumentOutOfRangeException("Unknown shape type: " + data.GetType().Name) });
private void ClientRemote_ProcessServerTestResults( List <Vector2D> testResults, CollisionGroupId collisionGroupId) { var collisionGroup = CollisionGroups.GetCollisionGroup(collisionGroupId); ClientComponentPhysicsSpaceVisualizer.VisualizeTestResults(testResults, collisionGroup, isClient: false); }