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,
minorRadius: _minorRadius,
)..rotate(1.29);
final fixtureDef = FixtureDef(shape)
..friction = 0
..restitution = 4;
final bodyDef = BodyDef()
..position = initialPosition
..userData = this;
final fixtureDef = FixtureDef(
shape,
restitution: 4,
);
final bodyDef = BodyDef(
position: initialPosition,
userData: this,
);
return world.createBody(bodyDef)..createFixture(fixtureDef);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Loading…
Cancel
Save