refactor: reordered classes

pull/72/head
alestiago 4 years ago
parent a5013862e4
commit aacab7f9d8

@ -181,28 +181,19 @@ class Flipper extends BodyComponent with KeyboardHandler, InitialPosition {
} }
} }
class _FlipperJoint extends RevoluteJoint { /// {@template flipper_anchor}
_FlipperJoint(_FlipperAnchorRevoluteJointDef def) /// [JointAnchor] positioned at the end of a [Flipper].
: side = def.side,
super(def);
final BoardSide side;
// TODO(alestiago): Remove once Forge2D supports custom joints.
void create(World world) {
world.joints.add(this);
bodyA.joints.add(this);
bodyB.joints.add(this);
}
/// Unlocks the [Flipper] from its resting position.
/// ///
/// The [Flipper] is locked when initialized in order to force it to be at /// The end of a [Flipper] depends on its [Flipper.side].
/// its resting position. /// {@endtemplate}
void unlock() { class _FlipperAnchor extends JointAnchor {
setLimits( /// {@macro flipper_anchor}
lowerLimit * side.direction, _FlipperAnchor({
-upperLimit * side.direction, required Flipper flipper,
}) {
initialPosition = Vector2(
flipper.body.position.x + ((Flipper.size.x * flipper.side.direction) / 2),
flipper.body.position.y,
); );
} }
} }
@ -233,19 +224,28 @@ class _FlipperAnchorRevoluteJointDef extends RevoluteJointDef {
final BoardSide side; final BoardSide side;
} }
/// {@template flipper_anchor} class _FlipperJoint extends RevoluteJoint {
/// [JointAnchor] positioned at the end of a [Flipper]. _FlipperJoint(_FlipperAnchorRevoluteJointDef def)
: side = def.side,
super(def);
final BoardSide side;
// TODO(alestiago): Remove once Forge2D supports custom joints.
void create(World world) {
world.joints.add(this);
bodyA.joints.add(this);
bodyB.joints.add(this);
}
/// Unlocks the [Flipper] from its resting position.
/// ///
/// The end of a [Flipper] depends on its [Flipper.side]. /// The [Flipper] is locked when initialized in order to force it to be at
/// {@endtemplate} /// its resting position.
class _FlipperAnchor extends JointAnchor { void unlock() {
/// {@macro flipper_anchor} setLimits(
_FlipperAnchor({ lowerLimit * side.direction,
required Flipper flipper, -upperLimit * side.direction,
}) {
initialPosition = Vector2(
flipper.body.position.x + ((Flipper.size.x * flipper.side.direction) / 2),
flipper.body.position.y,
); );
} }
} }

Loading…
Cancel
Save