refactor: used new Forge2D Defs API (#188)

pull/178/head
Alejandro Santiago 3 years ago committed by GitHub
parent 9714bead89
commit 437dc07ba7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -72,13 +72,14 @@ class AlienBumper extends BodyComponent with InitialPosition {
majorRadius: _majorRadius, majorRadius: _majorRadius,
minorRadius: _minorRadius, minorRadius: _minorRadius,
)..rotate(1.29); )..rotate(1.29);
final fixtureDef = FixtureDef(shape) final fixtureDef = FixtureDef(
..friction = 0 shape,
..restitution = 4; restitution: 4,
);
final bodyDef = BodyDef() final bodyDef = BodyDef(
..position = initialPosition position: initialPosition,
..userData = this; userData: this,
);
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -64,11 +64,15 @@ class Ball<T extends Forge2DGame> extends BodyComponent<T>
@override @override
Body createBody() { Body createBody() {
final shape = CircleShape()..radius = size.x / 2; final shape = CircleShape()..radius = size.x / 2;
final fixtureDef = FixtureDef(shape)..density = 1; final fixtureDef = FixtureDef(
final bodyDef = BodyDef() shape,
..position = initialPosition density: 1,
..userData = this );
..type = BodyType.dynamic; final bodyDef = BodyDef(
position: initialPosition,
userData: this,
type: BodyType.dynamic,
);
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -89,10 +89,10 @@ class Baseboard extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
const angle = 37.1 * (math.pi / 180); const angle = 37.1 * (math.pi / 180);
final bodyDef = BodyDef(
final bodyDef = BodyDef() position: initialPosition,
..position = initialPosition angle: -angle * _side.direction,
..angle = _side.isLeft ? angle : -angle; );
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);

@ -54,12 +54,14 @@ class ChromeDino extends BodyComponent with InitialPosition {
// TODO(alestiago): Subject to change when sprites are added. // TODO(alestiago): Subject to change when sprites are added.
final box = PolygonShape()..setAsBoxXY(size.x / 2, size.y / 2); final box = PolygonShape()..setAsBoxXY(size.x / 2, size.y / 2);
final fixtureDef = FixtureDef(box) final fixtureDef = FixtureDef(
..shape = box box,
..density = 999 density: 999,
..friction = 0.3 friction: 0.3,
..restitution = 0.1 restitution: 0.1,
..isSensor = true; isSensor: true,
);
fixtureDefs.add(fixtureDef); fixtureDefs.add(fixtureDef);
// FIXME(alestiago): Investigate why adding these fixtures is considered as // FIXME(alestiago): Investigate why adding these fixtures is considered as
@ -93,10 +95,11 @@ class ChromeDino extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..gravityScale = Vector2.zero() position: initialPosition,
..position = initialPosition type: BodyType.dynamic,
..type = BodyType.dynamic; gravityScale: Vector2.zero(),
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);
@ -111,10 +114,7 @@ class ChromeDino extends BodyComponent with InitialPosition {
class _ChromeDinoAnchor extends JointAnchor { class _ChromeDinoAnchor extends JointAnchor {
/// {@macro flipper_anchor} /// {@macro flipper_anchor}
_ChromeDinoAnchor() { _ChromeDinoAnchor() {
initialPosition = Vector2( initialPosition = Vector2(ChromeDino.size.x / 2, 0);
ChromeDino.size.x / 2,
0,
);
} }
} }

@ -79,10 +79,10 @@ class BigDashNestBumper extends DashNestBumper {
minorRadius: 3.75, minorRadius: 3.75,
)..rotate(math.pi / 1.9); )..rotate(math.pi / 1.9);
final fixtureDef = FixtureDef(shape); final fixtureDef = FixtureDef(shape);
final bodyDef = BodyDef(
final bodyDef = BodyDef() position: initialPosition,
..position = initialPosition userData: this,
..userData = this; );
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }
@ -130,13 +130,14 @@ class SmallDashNestBumper extends DashNestBumper {
majorRadius: 3, majorRadius: 3,
minorRadius: 2.25, minorRadius: 2.25,
)..rotate(math.pi / 2); )..rotate(math.pi / 2);
final fixtureDef = FixtureDef(shape) final fixtureDef = FixtureDef(
..friction = 0 shape,
..restitution = 4; restitution: 4,
);
final bodyDef = BodyDef() final bodyDef = BodyDef(
..position = initialPosition position: initialPosition,
..userData = this; userData: this,
);
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -81,10 +81,11 @@ class _DinoTopWall extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition userData: this,
..type = BodyType.static; );
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach( _createFixtureDefs().forEach(
(fixture) => body.createFixture( (fixture) => body.createFixture(
@ -128,6 +129,7 @@ class _DinoBottomWall extends BodyComponent with InitialPosition {
List<FixtureDef> _createFixtureDefs() { List<FixtureDef> _createFixtureDefs() {
final fixturesDef = <FixtureDef>[]; final fixturesDef = <FixtureDef>[];
const restitution = 1.0;
final topStraightControlPoints = [ final topStraightControlPoints = [
Vector2(32.4, -8.3), Vector2(32.4, -8.3),
@ -138,7 +140,10 @@ class _DinoBottomWall extends BodyComponent with InitialPosition {
topStraightControlPoints.first, topStraightControlPoints.first,
topStraightControlPoints.last, topStraightControlPoints.last,
); );
final topStraightFixtureDef = FixtureDef(topStraightShape); final topStraightFixtureDef = FixtureDef(
topStraightShape,
restitution: restitution,
);
fixturesDef.add(topStraightFixtureDef); fixturesDef.add(topStraightFixtureDef);
final topLeftCurveControlPoints = [ final topLeftCurveControlPoints = [
@ -149,7 +154,11 @@ class _DinoBottomWall extends BodyComponent with InitialPosition {
final topLeftCurveShape = BezierCurveShape( final topLeftCurveShape = BezierCurveShape(
controlPoints: topLeftCurveControlPoints, controlPoints: topLeftCurveControlPoints,
); );
fixturesDef.add(FixtureDef(topLeftCurveShape)); final topLeftCurveFixtureDef = FixtureDef(
topLeftCurveShape,
restitution: restitution,
);
fixturesDef.add(topLeftCurveFixtureDef);
final bottomLeftStraightControlPoints = [ final bottomLeftStraightControlPoints = [
topLeftCurveControlPoints.last, topLeftCurveControlPoints.last,
@ -160,7 +169,10 @@ class _DinoBottomWall extends BodyComponent with InitialPosition {
bottomLeftStraightControlPoints.first, bottomLeftStraightControlPoints.first,
bottomLeftStraightControlPoints.last, bottomLeftStraightControlPoints.last,
); );
final bottomLeftStraightFixtureDef = FixtureDef(bottomLeftStraightShape); final bottomLeftStraightFixtureDef = FixtureDef(
bottomLeftStraightShape,
restitution: restitution,
);
fixturesDef.add(bottomLeftStraightFixtureDef); fixturesDef.add(bottomLeftStraightFixtureDef);
final bottomStraightControlPoints = [ final bottomStraightControlPoints = [
@ -172,7 +184,10 @@ class _DinoBottomWall extends BodyComponent with InitialPosition {
bottomStraightControlPoints.first, bottomStraightControlPoints.first,
bottomStraightControlPoints.last, bottomStraightControlPoints.last,
); );
final bottomStraightFixtureDef = FixtureDef(bottomStraightShape); final bottomStraightFixtureDef = FixtureDef(
bottomStraightShape,
restitution: restitution,
);
fixturesDef.add(bottomStraightFixtureDef); fixturesDef.add(bottomStraightFixtureDef);
return fixturesDef; return fixturesDef;
@ -180,19 +195,13 @@ class _DinoBottomWall extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition userData: this,
..type = BodyType.static; );
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach( _createFixtureDefs().forEach(body.createFixture);
(fixture) => body.createFixture(
fixture
..restitution = 0.1
..friction = 0,
),
);
return body; return body;
} }

@ -99,9 +99,11 @@ class Flipper extends BodyComponent with KeyboardHandler, InitialPosition {
Vector2(smallCircleShape.position.x, -smallCircleShape.radius), Vector2(smallCircleShape.position.x, -smallCircleShape.radius),
]; ];
final trapezium = PolygonShape()..set(trapeziumVertices); final trapezium = PolygonShape()..set(trapeziumVertices);
final trapeziumFixtureDef = FixtureDef(trapezium) final trapeziumFixtureDef = FixtureDef(
..density = 50.0 // TODO(alestiago): Use a proper density. trapezium,
..friction = .1; // TODO(alestiago): Use a proper friction. density: 50, // TODO(alestiago): Use a proper density.
friction: .1, // TODO(alestiago): Use a proper friction.
);
fixturesDef.add(trapeziumFixtureDef); fixturesDef.add(trapeziumFixtureDef);
return fixturesDef; return fixturesDef;
@ -118,10 +120,12 @@ class Flipper extends BodyComponent with KeyboardHandler, InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..position = initialPosition position: initialPosition,
..gravityScale = Vector2.zero() gravityScale: Vector2.zero(),
..type = BodyType.dynamic; type: BodyType.dynamic,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);

@ -18,7 +18,9 @@ class FlutterSignPost extends BodyComponent with InitialPosition {
Body createBody() { Body createBody() {
final shape = CircleShape()..radius = 0.25; final shape = CircleShape()..radius = 0.25;
final fixtureDef = FixtureDef(shape); final fixtureDef = FixtureDef(shape);
final bodyDef = BodyDef()..position = initialPosition; final bodyDef = BodyDef(
position: initialPosition,
);
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -33,12 +33,14 @@ class GoogleLetter extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final shape = CircleShape()..radius = 1.85; final shape = CircleShape()..radius = 1.85;
final fixtureDef = FixtureDef(shape)..isSensor = true; final fixtureDef = FixtureDef(
shape,
final bodyDef = BodyDef() isSensor: true,
..position = initialPosition );
..userData = this final bodyDef = BodyDef(
..type = BodyType.static; position: initialPosition,
userData: this,
);
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -22,7 +22,9 @@ class JointAnchor extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef()..position = initialPosition; final bodyDef = BodyDef(
position: initialPosition,
);
return world.createBody(bodyDef); return world.createBody(bodyDef);
} }
} }

@ -35,7 +35,7 @@ class Kicker extends BodyComponent with InitialPosition {
final upperCircle = CircleShape()..radius = 1.6; final upperCircle = CircleShape()..radius = 1.6;
upperCircle.position.setValues(0, upperCircle.radius / 2); upperCircle.position.setValues(0, upperCircle.radius / 2);
final upperCircleFixtureDef = FixtureDef(upperCircle)..friction = 0; final upperCircleFixtureDef = FixtureDef(upperCircle);
fixturesDefs.add(upperCircleFixtureDef); fixturesDefs.add(upperCircleFixtureDef);
final lowerCircle = CircleShape()..radius = 1.6; final lowerCircle = CircleShape()..radius = 1.6;
@ -43,7 +43,7 @@ class Kicker extends BodyComponent with InitialPosition {
size.x * -direction, size.x * -direction,
size.y + 0.8, size.y + 0.8,
); );
final lowerCircleFixtureDef = FixtureDef(lowerCircle)..friction = 0; final lowerCircleFixtureDef = FixtureDef(lowerCircle);
fixturesDefs.add(lowerCircleFixtureDef); fixturesDefs.add(lowerCircleFixtureDef);
final wallFacingEdge = EdgeShape() final wallFacingEdge = EdgeShape()
@ -55,7 +55,7 @@ class Kicker extends BodyComponent with InitialPosition {
), ),
Vector2(2.5 * direction, size.y - 2), Vector2(2.5 * direction, size.y - 2),
); );
final wallFacingLineFixtureDef = FixtureDef(wallFacingEdge)..friction = 0; final wallFacingLineFixtureDef = FixtureDef(wallFacingEdge);
fixturesDefs.add(wallFacingLineFixtureDef); fixturesDefs.add(wallFacingLineFixtureDef);
final bottomEdge = EdgeShape() final bottomEdge = EdgeShape()
@ -67,7 +67,7 @@ class Kicker extends BodyComponent with InitialPosition {
lowerCircle.radius * math.sin(quarterPi), lowerCircle.radius * math.sin(quarterPi),
), ),
); );
final bottomLineFixtureDef = FixtureDef(bottomEdge)..friction = 0; final bottomLineFixtureDef = FixtureDef(bottomEdge);
fixturesDefs.add(bottomLineFixtureDef); fixturesDefs.add(bottomLineFixtureDef);
final bouncyEdge = EdgeShape() final bouncyEdge = EdgeShape()
@ -84,10 +84,11 @@ class Kicker extends BodyComponent with InitialPosition {
), ),
); );
final bouncyFixtureDef = FixtureDef(bouncyEdge) final bouncyFixtureDef = FixtureDef(
bouncyEdge,
// TODO(alestiago): Play with restitution value once game is bundled. // TODO(alestiago): Play with restitution value once game is bundled.
..restitution = 10.0 restitution: 10,
..friction = 0; );
fixturesDefs.add(bouncyFixtureDef); fixturesDefs.add(bouncyFixtureDef);
// TODO(alestiago): Evaluate if there is value on centering the fixtures. // TODO(alestiago): Evaluate if there is value on centering the fixtures.
@ -111,7 +112,9 @@ class Kicker extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef()..position = initialPosition; final bodyDef = BodyDef(
position: initialPosition,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);

@ -103,9 +103,10 @@ class _LaunchRampBase extends BodyComponent with InitialPosition, Layered {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition; userData: this,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);

@ -33,11 +33,12 @@ class Plunger extends BodyComponent with InitialPosition, Layered {
final fixtureDef = FixtureDef(shape)..density = 80; final fixtureDef = FixtureDef(shape)..density = 80;
final bodyDef = BodyDef() final bodyDef = BodyDef(
..position = initialPosition position: initialPosition,
..userData = this userData: this,
..type = BodyType.dynamic type: BodyType.dynamic,
..gravityScale = Vector2.zero(); gravityScale: Vector2.zero(),
);
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -65,12 +65,14 @@ abstract class RampOpening extends BodyComponent with InitialPosition, Layered {
@override @override
Body createBody() { Body createBody() {
final fixtureDef = FixtureDef(shape)..isSensor = true; final fixtureDef = FixtureDef(
shape,
final bodyDef = BodyDef() isSensor: true,
..userData = this );
..position = initialPosition final bodyDef = BodyDef(
..type = BodyType.static; position: initialPosition,
userData: this,
);
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -56,12 +56,12 @@ class Slingshot extends BodyComponent with InitialPosition {
final topCircleShape = CircleShape()..radius = circleRadius; final topCircleShape = CircleShape()..radius = circleRadius;
topCircleShape.position.setValues(0, -_length / 2); topCircleShape.position.setValues(0, -_length / 2);
final topCircleFixtureDef = FixtureDef(topCircleShape)..friction = 0; final topCircleFixtureDef = FixtureDef(topCircleShape);
fixturesDef.add(topCircleFixtureDef); fixturesDef.add(topCircleFixtureDef);
final bottomCircleShape = CircleShape()..radius = circleRadius; final bottomCircleShape = CircleShape()..radius = circleRadius;
bottomCircleShape.position.setValues(0, _length / 2); bottomCircleShape.position.setValues(0, _length / 2);
final bottomCircleFixtureDef = FixtureDef(bottomCircleShape)..friction = 0; final bottomCircleFixtureDef = FixtureDef(bottomCircleShape);
fixturesDef.add(bottomCircleFixtureDef); fixturesDef.add(bottomCircleFixtureDef);
final leftEdgeShape = EdgeShape() final leftEdgeShape = EdgeShape()
@ -69,9 +69,11 @@ class Slingshot extends BodyComponent with InitialPosition {
Vector2(circleRadius, _length / 2), Vector2(circleRadius, _length / 2),
Vector2(circleRadius, -_length / 2), Vector2(circleRadius, -_length / 2),
); );
final leftEdgeShapeFixtureDef = FixtureDef(leftEdgeShape) final leftEdgeShapeFixtureDef = FixtureDef(
..friction = 0 leftEdgeShape,
..restitution = 5; restitution: 5,
);
fixturesDef.add(leftEdgeShapeFixtureDef); fixturesDef.add(leftEdgeShapeFixtureDef);
final rightEdgeShape = EdgeShape() final rightEdgeShape = EdgeShape()
@ -79,9 +81,10 @@ class Slingshot extends BodyComponent with InitialPosition {
Vector2(-circleRadius, _length / 2), Vector2(-circleRadius, _length / 2),
Vector2(-circleRadius, -_length / 2), Vector2(-circleRadius, -_length / 2),
); );
final rightEdgeShapeFixtureDef = FixtureDef(rightEdgeShape) final rightEdgeShapeFixtureDef = FixtureDef(
..friction = 0 rightEdgeShape,
..restitution = 5; restitution: 5,
);
fixturesDef.add(rightEdgeShapeFixtureDef); fixturesDef.add(rightEdgeShapeFixtureDef);
return fixturesDef; return fixturesDef;
@ -89,10 +92,11 @@ class Slingshot extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition userData: this,
..angle = _angle; angle: _angle,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);

@ -71,17 +71,17 @@ class SpaceshipSaucer extends BodyComponent with InitialPosition, Layered {
@override @override
Body createBody() { Body createBody() {
final circleShape = CircleShape()..radius = 3; final shape = CircleShape()..radius = 3;
final fixtureDef = FixtureDef(
final bodyDef = BodyDef() shape,
..userData = this isSensor: true,
..position = initialPosition );
..type = BodyType.static; final bodyDef = BodyDef(
position: initialPosition,
return world.createBody(bodyDef) userData: this,
..createFixture(
FixtureDef(circleShape)..isSensor = true,
); );
return world.createBody(bodyDef)..createFixture(fixtureDef);
} }
} }
@ -107,10 +107,10 @@ class AndroidHead extends BodyComponent with InitialPosition, Layered {
Body createBody() { Body createBody() {
final circleShape = CircleShape()..radius = 2; final circleShape = CircleShape()..radius = 2;
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition userData: this,
..type = BodyType.static; );
return world.createBody(bodyDef) return world.createBody(bodyDef)
..createFixture( ..createFixture(
@ -246,18 +246,16 @@ class SpaceshipWall extends BodyComponent with InitialPosition, Layered {
Body createBody() { Body createBody() {
renderBody = false; renderBody = false;
final wallShape = _SpaceshipWallShape(); final shape = _SpaceshipWallShape();
final fixtureDef = FixtureDef(shape);
final bodyDef = BodyDef()
..userData = this
..position = initialPosition
..angle = -1.7
..type = BodyType.static;
return world.createBody(bodyDef) final bodyDef = BodyDef(
..createFixture( position: initialPosition,
FixtureDef(wallShape)..restitution = 1, userData: this,
angle: -1.7,
); );
return world.createBody(bodyDef)..createFixture(fixtureDef);
} }
} }

@ -122,9 +122,10 @@ class _SpaceshipRailRamp extends BodyComponent with InitialPosition, Layered {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition; userData: this,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);
@ -189,12 +190,11 @@ class _SpaceshipRailBase extends BodyComponent with InitialPosition, Layered {
@override @override
Body createBody() { Body createBody() {
final shape = CircleShape()..radius = radius; final shape = CircleShape()..radius = radius;
final fixtureDef = FixtureDef(shape); final fixtureDef = FixtureDef(shape);
final bodyDef = BodyDef(
final bodyDef = BodyDef() position: initialPosition,
..position = initialPosition userData: this,
..userData = this; );
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -75,7 +75,6 @@ class _SpaceshipRampBackground extends BodyComponent
Vector2(-14.2, -71.25), Vector2(-14.2, -71.25),
], ],
); );
final outerLeftCurveFixtureDef = FixtureDef(outerLeftCurveShape); final outerLeftCurveFixtureDef = FixtureDef(outerLeftCurveShape);
fixturesDef.add(outerLeftCurveFixtureDef); fixturesDef.add(outerLeftCurveFixtureDef);
@ -86,7 +85,6 @@ class _SpaceshipRampBackground extends BodyComponent
Vector2(6.1, -44.9), Vector2(6.1, -44.9),
], ],
); );
final outerRightCurveFixtureDef = FixtureDef(outerRightCurveShape); final outerRightCurveFixtureDef = FixtureDef(outerRightCurveShape);
fixturesDef.add(outerRightCurveFixtureDef); fixturesDef.add(outerRightCurveFixtureDef);
@ -103,9 +101,10 @@ class _SpaceshipRampBackground extends BodyComponent
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition; userData: this,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);
@ -212,9 +211,10 @@ class _SpaceshipRampForegroundRailing extends BodyComponent
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition; userData: this,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);
@ -266,10 +266,10 @@ class _SpaceshipRampBase extends BodyComponent with InitialPosition, Layered {
], ],
); );
final fixtureDef = FixtureDef(baseShape); final fixtureDef = FixtureDef(baseShape);
final bodyDef = BodyDef(
final bodyDef = BodyDef() position: initialPosition,
..userData = this userData: this,
..position = initialPosition; );
return world.createBody(bodyDef)..createFixture(fixtureDef); return world.createBody(bodyDef)..createFixture(fixtureDef);
} }

@ -90,10 +90,10 @@ class SparkyBumper extends BodyComponent with InitialPosition {
majorRadius: _majorRadius, majorRadius: _majorRadius,
minorRadius: _minorRadius, minorRadius: _minorRadius,
)..rotate(math.pi / 2.1); )..rotate(math.pi / 2.1);
final fixtureDef = FixtureDef(shape) final fixtureDef = FixtureDef(
..friction = 0 shape,
..restitution = 4; restitution: 4,
);
final bodyDef = BodyDef() final bodyDef = BodyDef()
..position = initialPosition ..position = initialPosition
..userData = this; ..userData = this;

@ -56,9 +56,10 @@ class _ComputerBase extends BodyComponent with InitialPosition {
@override @override
Body createBody() { Body createBody() {
final bodyDef = BodyDef() final bodyDef = BodyDef(
..userData = this position: initialPosition,
..position = initialPosition; userData: this,
);
final body = world.createBody(bodyDef); final body = world.createBody(bodyDef);
_createFixtureDefs().forEach(body.createFixture); _createFixtureDefs().forEach(body.createFixture);

Loading…
Cancel
Save