From b87da43dbc02923f14c53185f67fddb249356a33 Mon Sep 17 00:00:00 2001 From: alestiago Date: Mon, 11 Apr 2022 10:40:02 +0100 Subject: [PATCH] feat: implementing GoogleLetter --- .../assets/images/google_word/letter1.png | Bin 0 -> 371 bytes .../assets/images/google_word/letter2.png | Bin 0 -> 371 bytes .../assets/images/google_word/letter3.png | Bin 0 -> 371 bytes .../assets/images/google_word/letter4.png | Bin 0 -> 371 bytes .../assets/images/google_word/letter5.png | Bin 0 -> 313 bytes .../assets/images/google_word/letter6.png | Bin 0 -> 343 bytes .../lib/src/components/google_letter.dart | 70 ++++++++++++++++++ 7 files changed, 70 insertions(+) create mode 100644 packages/pinball_components/assets/images/google_word/letter1.png create mode 100644 packages/pinball_components/assets/images/google_word/letter2.png create mode 100644 packages/pinball_components/assets/images/google_word/letter3.png create mode 100644 packages/pinball_components/assets/images/google_word/letter4.png create mode 100644 packages/pinball_components/assets/images/google_word/letter5.png create mode 100644 packages/pinball_components/assets/images/google_word/letter6.png create mode 100644 packages/pinball_components/lib/src/components/google_letter.dart diff --git a/packages/pinball_components/assets/images/google_word/letter1.png b/packages/pinball_components/assets/images/google_word/letter1.png new file mode 100644 index 0000000000000000000000000000000000000000..f79ea687beff562a109aad3689f00602dbf8dc73 GIT binary patch literal 371 zcmV-(0gV2MP)k`P9h_?fjWV1pibZj=mfGsbpmjL`UB~~NmCHb-J`wI{H94;B9B?3 z1RQ_?RwzIQQZT1J!=y+YY!AFh+9zZN2({V#OUN&XfzwDKN8*Iy(8LTJfeDLctThE| zUk*#K1ZVJ+{*F{jstV(C_pP=En~$+L9AQdY=V7$zr+h4@ck5jgR3=A9lx&I`x0_8Y7T^vIy7}ri|6l^l!aaHC%!Lfr;`2owi z18kcbtr~YVN*DMv_$l}Wm>uB#z<&7V2a$BxJcp)$0JK#04&14M#2~ zDPx|l6envY{YibCGdZ2icGq+6WW888Q}fE?FHRft6F7?!{v@epvnmwNP2>$*z`(zO zEj>v0rBToMyIZ5U`oeZIPW&_VMNps4HKonYd`n|rTy$-Gwol};vJ(Roo5jgR3=A9lx&I`x0_8Y7T^vIy7}ri|6l^l!aaHC%!Lfr;`2owi z18kcbtr~YVN*DMv_$l}Wm>uB#z<&7V2a$BxJcp)$0JK#04&14M#2~ zDPx|l6envY{YibCGdZ2icGq+6WW888Q}fE?FHRft6F7?!{v@epvnmwNP2>$*z`(zO zEj>v0rBToMyIZ5U`oeZIPW&_VMNps4HKonYd`n|rTy$-Gwol};vJ(Rook`P9h_?fjWV1pibZj=mfGsbpmjL`UB~~NmCHb-J`wI{H94;B9B?3 z1RQ_?RwzIQQZT1J!=y+YY!AFh+9zZN2({V#OUN&XfzwDKN8*Iy(8LTJfeDLctThE| zUk*#K1ZVJ+{*F{jstV(C_pP=En~$+L9AQdY=V7$zr+h4@ck5jgR3=A9lx&I`x0{Q1WT^vIy7}rjD%iCli;;Qd+fFnmi`2kzs z0S>FiU5&~+8Vi|Z8hKx_ZD72&e68Zbc!&I=x(hab-WBT`RFwlJO9!T0`LaZnS5tti z+w1Qk2?w)GCnZtESw()To49ut#A_N|aSPemCGzrdO74dc-pt4T;ZMH2ouI}(G1OzS zk^7;J9EVvvO0OrV%{?)1UzhOB>~-%pm9y~a-ect?T1f64XP=k!jTQ9qh*b*9C`zU=<~XD8U-W=4f273b6fea7JF>gTe~ HDWM4f>tAzq literal 0 HcmV?d00001 diff --git a/packages/pinball_components/assets/images/google_word/letter6.png b/packages/pinball_components/assets/images/google_word/letter6.png new file mode 100644 index 0000000000000000000000000000000000000000..7d87654bdea5558b3dc5bd2886cbe6b315e53ddf GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ&H|6fVg?3opai!tBg3pY55jgR3=A9lx&I`x0{L$|T^vIy7}rkWLpqvG-FarFznPj$8^%+PQ`ncUcZ^bi3LY@PK&x;@H|F4+cDH-%2A0sCl^bf zy}xOa_vO0w!WFfr!*55O)i>Ev*%l(R>cpIn#s _sprite.activate(); + + void deactivate() => _sprite.deactivate(); + + @override + Future onLoad() async { + await super.onLoad(); + await add(_sprite = _GoogleLetterSprite.letter1()); + } + + @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; + + return world.createBody(bodyDef)..createFixture(fixtureDef); + } +} + +class _GoogleLetterSprite extends SpriteComponent with HasGameRef { + _GoogleLetterSprite.letter1() + : _spritePath = Assets.images.googleWord.letter1.keyName; + + _GoogleLetterSprite.letter2() + : _spritePath = Assets.images.googleWord.letter2.keyName; + + _GoogleLetterSprite.letter3() + : _spritePath = Assets.images.googleWord.letter3.keyName; + + _GoogleLetterSprite.letter4() + : _spritePath = Assets.images.googleWord.letter4.keyName; + + _GoogleLetterSprite.letter5() + : _spritePath = Assets.images.googleWord.letter5.keyName; + + final String _spritePath; + + // TODO(alestiago): Correctly implement activate and deactivate once the + // assets are provided. + void activate() { + tint(Colors.green); + } + + void deactivate() { + tint(Colors.red); + } + + @override + Future onLoad() async { + await super.onLoad(); + + final sprite = await gameRef.loadSprite(_spritePath); + this.sprite = sprite; + size = sprite.originalSize / 5; + anchor = Anchor.center; + } +}