mirror of
https://github.com/flame-engine/flame.git
synced 2025-10-30 00:17:20 +08:00
refactor: Modernize switch; use switch-expressions and no break; (#3133)
Replaces the switch cases that can be replaces with switch expressions and removes `break;` where it isn't needed. https://dart.dev/language/branches#switch-statements
This commit is contained in:
@ -10,29 +10,16 @@ void main() {
|
|||||||
if (page.startsWith('?')) {
|
if (page.startsWith('?')) {
|
||||||
page = page.substring(1);
|
page = page.substring(1);
|
||||||
}
|
}
|
||||||
switch (page) {
|
return switch (page) {
|
||||||
case 'step2':
|
'step2' => step2.main(),
|
||||||
step2.main();
|
'step3' => step3.main(),
|
||||||
break;
|
'step4' => step4.main(),
|
||||||
|
'step5' => step5.main(),
|
||||||
case 'step3':
|
_ => runApp(
|
||||||
step3.main();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'step4':
|
|
||||||
step4.main();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'step5':
|
|
||||||
step5.main();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
runApp(
|
|
||||||
Directionality(
|
Directionality(
|
||||||
textDirection: TextDirection.ltr,
|
textDirection: TextDirection.ltr,
|
||||||
child: Text('Error: unknown page name "$page"'),
|
child: Text('Error=> unknown page name "$page"'),
|
||||||
),
|
),
|
||||||
);
|
),
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -97,29 +97,24 @@ class Card extends PositionComponent {
|
|||||||
switch (rank.value) {
|
switch (rank.value) {
|
||||||
case 1:
|
case 1:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
||||||
break;
|
|
||||||
case 2:
|
case 2:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 3:
|
case 3:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 4:
|
case 4:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 5:
|
case 5:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 6:
|
case 6:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
@ -127,7 +122,6 @@ class Card extends PositionComponent {
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 7:
|
case 7:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -136,7 +130,6 @@ class Card extends PositionComponent {
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 8:
|
case 8:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -146,7 +139,6 @@ class Card extends PositionComponent {
|
|||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
||||||
break;
|
|
||||||
case 9:
|
case 9:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -157,7 +149,6 @@ class Card extends PositionComponent {
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 10:
|
case 10:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -169,16 +160,12 @@ class Card extends PositionComponent {
|
|||||||
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 11:
|
case 11:
|
||||||
_drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 12:
|
case 12:
|
||||||
_drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 13:
|
case 13:
|
||||||
_drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -105,29 +105,24 @@ class Card extends PositionComponent with DragCallbacks {
|
|||||||
switch (rank.value) {
|
switch (rank.value) {
|
||||||
case 1:
|
case 1:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
||||||
break;
|
|
||||||
case 2:
|
case 2:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 3:
|
case 3:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 4:
|
case 4:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 5:
|
case 5:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 6:
|
case 6:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
@ -135,7 +130,6 @@ class Card extends PositionComponent with DragCallbacks {
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 7:
|
case 7:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -144,7 +138,6 @@ class Card extends PositionComponent with DragCallbacks {
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 8:
|
case 8:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -154,7 +147,6 @@ class Card extends PositionComponent with DragCallbacks {
|
|||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
||||||
break;
|
|
||||||
case 9:
|
case 9:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -165,7 +157,6 @@ class Card extends PositionComponent with DragCallbacks {
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 10:
|
case 10:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -177,16 +168,12 @@ class Card extends PositionComponent with DragCallbacks {
|
|||||||
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 11:
|
case 11:
|
||||||
_drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 12:
|
case 12:
|
||||||
_drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 13:
|
case 13:
|
||||||
_drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -143,29 +143,24 @@ class Card extends PositionComponent
|
|||||||
switch (rank.value) {
|
switch (rank.value) {
|
||||||
case 1:
|
case 1:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
||||||
break;
|
|
||||||
case 2:
|
case 2:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 3:
|
case 3:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 4:
|
case 4:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 5:
|
case 5:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 6:
|
case 6:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
@ -173,7 +168,6 @@ class Card extends PositionComponent
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 7:
|
case 7:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -182,7 +176,6 @@ class Card extends PositionComponent
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 8:
|
case 8:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -192,7 +185,6 @@ class Card extends PositionComponent
|
|||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
||||||
break;
|
|
||||||
case 9:
|
case 9:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -203,7 +195,6 @@ class Card extends PositionComponent
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 10:
|
case 10:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -215,16 +206,12 @@ class Card extends PositionComponent
|
|||||||
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 11:
|
case 11:
|
||||||
_drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 12:
|
case 12:
|
||||||
_drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 13:
|
case 13:
|
||||||
_drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -401,29 +401,24 @@ of drawing various sprites in different places on the card's face:
|
|||||||
switch (rank.value) {
|
switch (rank.value) {
|
||||||
case 1:
|
case 1:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5);
|
||||||
break;
|
|
||||||
case 2:
|
case 2:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 3:
|
case 3:
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 4:
|
case 4:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 5:
|
case 5:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
_drawSprite(canvas, suitSprite, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 6:
|
case 6:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25);
|
||||||
@ -431,7 +426,6 @@ of drawing various sprites in different places on the card's face:
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true);
|
||||||
break;
|
|
||||||
case 7:
|
case 7:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -440,7 +434,6 @@ of drawing various sprites in different places on the card's face:
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
_drawSprite(canvas, suitSprite, 0.7, 0.5);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
break;
|
|
||||||
case 8:
|
case 8:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -450,7 +443,6 @@ of drawing various sprites in different places on the card's face:
|
|||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true);
|
||||||
break;
|
|
||||||
case 9:
|
case 9:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -461,7 +453,6 @@ of drawing various sprites in different places on the card's face:
|
|||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 10:
|
case 10:
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
_drawSprite(canvas, suitSprite, 0.3, 0.2);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
_drawSprite(canvas, suitSprite, 0.7, 0.2);
|
||||||
@ -473,16 +464,12 @@ of drawing various sprites in different places on the card's face:
|
|||||||
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true);
|
||||||
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
_drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true);
|
||||||
break;
|
|
||||||
case 11:
|
case 11:
|
||||||
_drawSprite(canvas, suit.isRed? redJack : blackJack, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed? redJack : blackJack, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 12:
|
case 12:
|
||||||
_drawSprite(canvas, suit.isRed? redQueen : blackQueen, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed? redQueen : blackQueen, 0.5, 0.5);
|
||||||
break;
|
|
||||||
case 13:
|
case 13:
|
||||||
_drawSprite(canvas, suit.isRed? redKing : blackKing, 0.5, 0.5);
|
_drawSprite(canvas, suit.isRed? redKing : blackKing, 0.5, 0.5);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -56,40 +56,26 @@ class EmberQuestGame extends FlameGame
|
|||||||
|
|
||||||
void loadGameSegments(int segmentIndex, double xPositionOffset) {
|
void loadGameSegments(int segmentIndex, double xPositionOffset) {
|
||||||
for (final block in segments[segmentIndex]) {
|
for (final block in segments[segmentIndex]) {
|
||||||
switch (block.blockType) {
|
final component = switch (block.blockType) {
|
||||||
case GroundBlock:
|
GroundBlock => GroundBlock(
|
||||||
world.add(
|
gridPosition: block.gridPosition,
|
||||||
GroundBlock(
|
xOffset: xPositionOffset,
|
||||||
gridPosition: block.gridPosition,
|
),
|
||||||
xOffset: xPositionOffset,
|
PlatformBlock => PlatformBlock(
|
||||||
),
|
gridPosition: block.gridPosition,
|
||||||
);
|
xOffset: xPositionOffset,
|
||||||
break;
|
),
|
||||||
case PlatformBlock:
|
Star => Star(
|
||||||
world.add(
|
gridPosition: block.gridPosition,
|
||||||
PlatformBlock(
|
xOffset: xPositionOffset,
|
||||||
gridPosition: block.gridPosition,
|
),
|
||||||
xOffset: xPositionOffset,
|
WaterEnemy => WaterEnemy(
|
||||||
),
|
gridPosition: block.gridPosition,
|
||||||
);
|
xOffset: xPositionOffset,
|
||||||
break;
|
),
|
||||||
case Star:
|
_ => throw UnimplementedError(),
|
||||||
world.add(
|
};
|
||||||
Star(
|
world.add(component);
|
||||||
gridPosition: block.gridPosition,
|
|
||||||
xOffset: xPositionOffset,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case WaterEnemy:
|
|
||||||
world.add(
|
|
||||||
WaterEnemy(
|
|
||||||
gridPosition: block.gridPosition,
|
|
||||||
xOffset: xPositionOffset,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -235,13 +235,9 @@ void loadGameSegments(int segmentIndex, double xPositionOffset) {
|
|||||||
for (final block in segments[segmentIndex]) {
|
for (final block in segments[segmentIndex]) {
|
||||||
switch (block.blockType) {
|
switch (block.blockType) {
|
||||||
case GroundBlock:
|
case GroundBlock:
|
||||||
break;
|
|
||||||
case PlatformBlock:
|
case PlatformBlock:
|
||||||
break;
|
|
||||||
case Star:
|
case Star:
|
||||||
break;
|
|
||||||
case WaterEnemy:
|
case WaterEnemy:
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -434,7 +430,6 @@ case PlatformBlock:
|
|||||||
gridPosition: block.gridPosition,
|
gridPosition: block.gridPosition,
|
||||||
xOffset: xPositionOffset,
|
xOffset: xPositionOffset,
|
||||||
));
|
));
|
||||||
break;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you run your code, you should now see:
|
If you run your code, you should now see:
|
||||||
|
|||||||
@ -90,7 +90,6 @@ case Star:
|
|||||||
xOffset: xPositionOffset,
|
xOffset: xPositionOffset,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you run your game, you should now see pulsating stars!
|
If you run your game, you should now see pulsating stars!
|
||||||
@ -177,7 +176,6 @@ case WaterEnemy:
|
|||||||
xOffset: xPositionOffset,
|
xOffset: xPositionOffset,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you run the game now, the Water Enemy should be displayed and moving!
|
If you run the game now, the Water Enemy should be displayed and moving!
|
||||||
@ -397,7 +395,6 @@ case GroundBlock:
|
|||||||
xOffset: xPositionOffset,
|
xOffset: xPositionOffset,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you run your code, your game should now look like this:
|
If you run your code, your game should now look like this:
|
||||||
|
|||||||
@ -14,32 +14,18 @@ void main() {
|
|||||||
page = page.substring(1);
|
page = page.substring(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (page) {
|
return switch (page) {
|
||||||
case 'step1':
|
'step1' => step1.main(),
|
||||||
step1.main();
|
'step2' => step2.main(),
|
||||||
break;
|
'step3' => step3.main(),
|
||||||
case 'step2':
|
'step4' => step4.main(),
|
||||||
step2.main();
|
'step5' => step5.main(),
|
||||||
break;
|
'step6' => step6.main(),
|
||||||
case 'step3':
|
_ => runApp(
|
||||||
step3.main();
|
|
||||||
break;
|
|
||||||
case 'step4':
|
|
||||||
step4.main();
|
|
||||||
break;
|
|
||||||
case 'step5':
|
|
||||||
step5.main();
|
|
||||||
break;
|
|
||||||
case 'step6':
|
|
||||||
step6.main();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
runApp(
|
|
||||||
Directionality(
|
Directionality(
|
||||||
textDirection: TextDirection.ltr,
|
textDirection: TextDirection.ltr,
|
||||||
child: Text('Error: unknown page name "$page"'),
|
child: Text('Error: unknown page name "$page"'),
|
||||||
),
|
),
|
||||||
);
|
),
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,12 +8,10 @@ enum GameColors {
|
|||||||
|
|
||||||
extension GameColorExtension on GameColors {
|
extension GameColorExtension on GameColors {
|
||||||
Color get color {
|
Color get color {
|
||||||
switch (this) {
|
return switch (this) {
|
||||||
case GameColors.green:
|
GameColors.green => ColorExtension.fromRGBHexString('#14F596'),
|
||||||
return ColorExtension.fromRGBHexString('#14F596');
|
GameColors.blue => ColorExtension.fromRGBHexString('#81DDF9'),
|
||||||
case GameColors.blue:
|
};
|
||||||
return ColorExtension.fromRGBHexString('#81DDF9');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Paint get paint => Paint()..color = color;
|
Paint get paint => Paint()..color = color;
|
||||||
|
|||||||
@ -89,19 +89,17 @@ class ObstacleTypeSettings {
|
|||||||
);
|
);
|
||||||
|
|
||||||
Sprite sprite(Image spriteImage) {
|
Sprite sprite(Image spriteImage) {
|
||||||
switch (type) {
|
return switch (type) {
|
||||||
case ObstacleType.cactusSmall:
|
ObstacleType.cactusSmall => Sprite(
|
||||||
return Sprite(
|
|
||||||
spriteImage,
|
spriteImage,
|
||||||
srcPosition: Vector2(446.0, 2.0),
|
srcPosition: Vector2(446.0, 2.0),
|
||||||
srcSize: size,
|
srcSize: size,
|
||||||
);
|
),
|
||||||
case ObstacleType.cactusLarge:
|
ObstacleType.cactusLarge => Sprite(
|
||||||
return Sprite(
|
|
||||||
spriteImage,
|
spriteImage,
|
||||||
srcPosition: Vector2(652.0, 2.0),
|
srcPosition: Vector2(652.0, 2.0),
|
||||||
srcSize: size,
|
srcSize: size,
|
||||||
);
|
),
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -115,16 +115,10 @@ class CalculatePrimeNumber extends PositionComponent
|
|||||||
final nextInt = _primeData.key + 1;
|
final nextInt = _primeData.key + 1;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final bool isPrime;
|
final isPrime = switch (computeType) {
|
||||||
|
ComputeType.isolate => await isolateCompute(_isPrime, nextInt),
|
||||||
switch (computeType) {
|
ComputeType.synchronous => _isPrime(nextInt),
|
||||||
case ComputeType.isolate:
|
};
|
||||||
isPrime = await isolateCompute(_isPrime, nextInt);
|
|
||||||
break;
|
|
||||||
case ComputeType.synchronous:
|
|
||||||
isPrime = _isPrime(nextInt);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
_primeData = MapEntry(nextInt, isPrime);
|
_primeData = MapEntry(nextInt, isPrime);
|
||||||
} on BackpressureDropException catch (_) {
|
} on BackpressureDropException catch (_) {
|
||||||
|
|||||||
@ -287,15 +287,13 @@ MyCollidable randomCollidable(
|
|||||||
final rng = random ?? Random();
|
final rng = random ?? Random();
|
||||||
final rotationSpeed = 0.5 - rng.nextDouble();
|
final rotationSpeed = 0.5 - rng.nextDouble();
|
||||||
final shapeType = Shapes.values[rng.nextInt(Shapes.values.length)];
|
final shapeType = Shapes.values[rng.nextInt(Shapes.values.length)];
|
||||||
switch (shapeType) {
|
return switch (shapeType) {
|
||||||
case Shapes.circle:
|
Shapes.circle => CollidableCircle(position, size, velocity, screenHitbox)
|
||||||
return CollidableCircle(position, size, velocity, screenHitbox)
|
..rotationSpeed = rotationSpeed,
|
||||||
..rotationSpeed = rotationSpeed;
|
Shapes.rectangle =>
|
||||||
case Shapes.rectangle:
|
CollidableRectangle(position, size, velocity, screenHitbox)
|
||||||
return CollidableRectangle(position, size, velocity, screenHitbox)
|
..rotationSpeed = rotationSpeed,
|
||||||
..rotationSpeed = rotationSpeed;
|
Shapes.polygon => CollidablePolygon(position, size, velocity, screenHitbox)
|
||||||
case Shapes.polygon:
|
..rotationSpeed = rotationSpeed,
|
||||||
return CollidablePolygon(position, size, velocity, screenHitbox)
|
};
|
||||||
..rotationSpeed = rotationSpeed;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,18 +18,15 @@ class SpawnComponentWorld extends World with TapCallbacks {
|
|||||||
@override
|
@override
|
||||||
void onTapDown(TapDownEvent info) {
|
void onTapDown(TapDownEvent info) {
|
||||||
final shapeType = Shapes.values.random();
|
final shapeType = Shapes.values.random();
|
||||||
final Shape shape;
|
|
||||||
final position = info.localPosition;
|
final position = info.localPosition;
|
||||||
switch (shapeType) {
|
final shape = switch (shapeType) {
|
||||||
case Shapes.rectangle:
|
Shapes.rectangle => Rectangle.fromCenter(
|
||||||
shape = Rectangle.fromCenter(
|
|
||||||
center: position,
|
center: position,
|
||||||
size: Vector2.all(200),
|
size: Vector2.all(200),
|
||||||
);
|
),
|
||||||
case Shapes.circle:
|
Shapes.circle => Circle(position, 150),
|
||||||
shape = Circle(position, 150);
|
Shapes.polygon => Polygon(
|
||||||
case Shapes.polygon:
|
|
||||||
shape = Polygon(
|
|
||||||
[
|
[
|
||||||
Vector2(-1.0, 0.0),
|
Vector2(-1.0, 0.0),
|
||||||
Vector2(-0.8, 0.6),
|
Vector2(-0.8, 0.6),
|
||||||
@ -44,8 +41,8 @@ class SpawnComponentWorld extends World with TapCallbacks {
|
|||||||
..scale(200)
|
..scale(200)
|
||||||
..add(position);
|
..add(position);
|
||||||
}).toList(),
|
}).toList(),
|
||||||
);
|
),
|
||||||
}
|
};
|
||||||
|
|
||||||
add(
|
add(
|
||||||
SpawnComponent(
|
SpawnComponent(
|
||||||
|
|||||||
@ -27,21 +27,19 @@ class _GestureHitboxesWorld extends World with TapCallbacks {
|
|||||||
final shapeSize =
|
final shapeSize =
|
||||||
Vector2.all(100) + Vector2.all(50.0).scaled(_rng.nextDouble());
|
Vector2.all(100) + Vector2.all(50.0).scaled(_rng.nextDouble());
|
||||||
final shapeAngle = _rng.nextDouble() * 6;
|
final shapeAngle = _rng.nextDouble() * 6;
|
||||||
ShapeHitbox hitbox;
|
final hitbox = switch (shapeType) {
|
||||||
switch (shapeType) {
|
Shapes.circle => CircleHitbox(),
|
||||||
case Shapes.circle:
|
Shapes.rectangle => RectangleHitbox(),
|
||||||
hitbox = CircleHitbox();
|
Shapes.polygon => PolygonHitbox.relative(
|
||||||
case Shapes.rectangle:
|
[
|
||||||
hitbox = RectangleHitbox();
|
-Vector2.random(_rng),
|
||||||
case Shapes.polygon:
|
Vector2.random(_rng)..x *= -1,
|
||||||
final points = [
|
Vector2.random(_rng),
|
||||||
-Vector2.random(_rng),
|
Vector2.random(_rng)..y *= -1,
|
||||||
Vector2.random(_rng)..x *= -1,
|
],
|
||||||
Vector2.random(_rng),
|
parentSize: shapeSize,
|
||||||
Vector2.random(_rng)..y *= -1,
|
),
|
||||||
];
|
};
|
||||||
hitbox = PolygonHitbox.relative(points, parentSize: shapeSize);
|
|
||||||
}
|
|
||||||
return MyShapeComponent(
|
return MyShapeComponent(
|
||||||
hitbox: hitbox,
|
hitbox: hitbox,
|
||||||
position: position,
|
position: position,
|
||||||
|
|||||||
@ -369,18 +369,13 @@ enum _QuadTreeZone {
|
|||||||
const _QuadTreeZone(this.value);
|
const _QuadTreeZone(this.value);
|
||||||
|
|
||||||
factory _QuadTreeZone.fromIndex(int i) {
|
factory _QuadTreeZone.fromIndex(int i) {
|
||||||
switch (i) {
|
return switch (i) {
|
||||||
case 0:
|
0 => _QuadTreeZone.topLeft,
|
||||||
return _QuadTreeZone.topLeft;
|
1 => _QuadTreeZone.topRight,
|
||||||
case 1:
|
2 => _QuadTreeZone.bottomLeft,
|
||||||
return _QuadTreeZone.topRight;
|
3 => _QuadTreeZone.bottomRight,
|
||||||
case 2:
|
_ => _QuadTreeZone.root,
|
||||||
return _QuadTreeZone.bottomLeft;
|
};
|
||||||
case 3:
|
|
||||||
return _QuadTreeZone.bottomRight;
|
|
||||||
default:
|
|
||||||
return _QuadTreeZone.root;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final int value;
|
final int value;
|
||||||
|
|||||||
@ -86,31 +86,23 @@ class ComponentTreeRoot extends Component {
|
|||||||
_blocked.contains(identityHashCode(parent))) {
|
_blocked.contains(identityHashCode(parent))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
var status = LifecycleEventStatus.done;
|
|
||||||
switch (event.kind) {
|
final status = switch (event.kind) {
|
||||||
case _LifecycleEventKind.add:
|
_LifecycleEventKind.add => child.handleLifecycleEventAdd(parent),
|
||||||
status = child.handleLifecycleEventAdd(parent);
|
_LifecycleEventKind.remove =>
|
||||||
break;
|
child.handleLifecycleEventRemove(parent),
|
||||||
case _LifecycleEventKind.remove:
|
_LifecycleEventKind.move => child.handleLifecycleEventMove(parent),
|
||||||
status = child.handleLifecycleEventRemove(parent);
|
_LifecycleEventKind.unknown => LifecycleEventStatus.done,
|
||||||
break;
|
};
|
||||||
case _LifecycleEventKind.move:
|
|
||||||
status = child.handleLifecycleEventMove(parent);
|
|
||||||
break;
|
|
||||||
case _LifecycleEventKind.unknown:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case LifecycleEventStatus.done:
|
case LifecycleEventStatus.done:
|
||||||
_queue.removeCurrent();
|
_queue.removeCurrent();
|
||||||
repeatLoop = true;
|
repeatLoop = true;
|
||||||
break;
|
|
||||||
case LifecycleEventStatus.block:
|
case LifecycleEventStatus.block:
|
||||||
_blocked.add(identityHashCode(child));
|
_blocked.add(identityHashCode(child));
|
||||||
_blocked.add(identityHashCode(parent));
|
_blocked.add(identityHashCode(parent));
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_blocked.clear();
|
_blocked.clear();
|
||||||
|
|||||||
@ -250,14 +250,11 @@ class ParallaxLayer {
|
|||||||
|
|
||||||
void resize(Vector2 size) {
|
void resize(Vector2 size) {
|
||||||
double scale(LayerFill fill) {
|
double scale(LayerFill fill) {
|
||||||
switch (fill) {
|
return switch (fill) {
|
||||||
case LayerFill.height:
|
LayerFill.height => parallaxRenderer.image.height / size.y,
|
||||||
return parallaxRenderer.image.height / size.y;
|
LayerFill.width => parallaxRenderer.image.width / size.x,
|
||||||
case LayerFill.width:
|
_ => _scale,
|
||||||
return parallaxRenderer.image.width / size.x;
|
};
|
||||||
default:
|
|
||||||
return _scale;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_scale = scale(parallaxRenderer.fill);
|
_scale = scale(parallaxRenderer.fill);
|
||||||
@ -299,15 +296,11 @@ class ParallaxLayer {
|
|||||||
switch (parallaxRenderer.repeat) {
|
switch (parallaxRenderer.repeat) {
|
||||||
case ImageRepeat.repeat:
|
case ImageRepeat.repeat:
|
||||||
_scroll.setValues(_scroll.x % 1, _scroll.y % 1);
|
_scroll.setValues(_scroll.x % 1, _scroll.y % 1);
|
||||||
break;
|
|
||||||
case ImageRepeat.repeatX:
|
case ImageRepeat.repeatX:
|
||||||
_scroll.setValues(_scroll.x % 1, _scroll.y);
|
_scroll.setValues(_scroll.x % 1, _scroll.y);
|
||||||
break;
|
|
||||||
case ImageRepeat.repeatY:
|
case ImageRepeat.repeatY:
|
||||||
_scroll.setValues(_scroll.x, _scroll.y % 1);
|
_scroll.setValues(_scroll.x, _scroll.y % 1);
|
||||||
break;
|
|
||||||
case ImageRepeat.noRepeat:
|
case ImageRepeat.noRepeat:
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_paintArea = Rect.fromLTWH(
|
_paintArea = Rect.fromLTWH(
|
||||||
|
|||||||
@ -58,20 +58,7 @@ void main() {
|
|||||||
final pixels = Uint8List.fromList(
|
final pixels = Uint8List.fromList(
|
||||||
List<int>.generate(
|
List<int>.generate(
|
||||||
100 * 4,
|
100 * 4,
|
||||||
(index) {
|
(index) => _colorBit(index, originalColor),
|
||||||
switch (index % 4) {
|
|
||||||
case 0:
|
|
||||||
return originalColor.red;
|
|
||||||
case 1:
|
|
||||||
return originalColor.green;
|
|
||||||
case 2:
|
|
||||||
return originalColor.blue;
|
|
||||||
case 3:
|
|
||||||
return originalColor.alpha;
|
|
||||||
default:
|
|
||||||
throw 'No 4 in switch % 4';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
final image = await ImageExtension.fromPixels(pixels, 10, 10);
|
final image = await ImageExtension.fromPixels(pixels, 10, 10);
|
||||||
@ -85,20 +72,7 @@ void main() {
|
|||||||
final expectedDarkenPixels = Uint8List.fromList(
|
final expectedDarkenPixels = Uint8List.fromList(
|
||||||
List<int>.generate(
|
List<int>.generate(
|
||||||
100 * 4,
|
100 * 4,
|
||||||
(index) {
|
(index) => _colorBit(index, darkenColor),
|
||||||
switch (index % 4) {
|
|
||||||
case 0:
|
|
||||||
return darkenColor.red;
|
|
||||||
case 1:
|
|
||||||
return darkenColor.green;
|
|
||||||
case 2:
|
|
||||||
return darkenColor.blue;
|
|
||||||
case 3:
|
|
||||||
return darkenColor.alpha;
|
|
||||||
default:
|
|
||||||
throw 'No 4 in switch % 4';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
expect(originalDarkenPixelsList, expectedDarkenPixels);
|
expect(originalDarkenPixelsList, expectedDarkenPixels);
|
||||||
@ -109,20 +83,7 @@ void main() {
|
|||||||
final pixels = Uint8List.fromList(
|
final pixels = Uint8List.fromList(
|
||||||
List<int>.generate(
|
List<int>.generate(
|
||||||
100 * 4,
|
100 * 4,
|
||||||
(index) {
|
(index) => _colorBit(index, originalColor),
|
||||||
switch (index % 4) {
|
|
||||||
case 0:
|
|
||||||
return originalColor.red;
|
|
||||||
case 1:
|
|
||||||
return originalColor.green;
|
|
||||||
case 2:
|
|
||||||
return originalColor.blue;
|
|
||||||
case 3:
|
|
||||||
return originalColor.alpha;
|
|
||||||
default:
|
|
||||||
throw 'No 4 in switch % 4';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
final image = await ImageExtension.fromPixels(pixels, 10, 10);
|
final image = await ImageExtension.fromPixels(pixels, 10, 10);
|
||||||
@ -136,20 +97,7 @@ void main() {
|
|||||||
final expectedBrightenPixels = Uint8List.fromList(
|
final expectedBrightenPixels = Uint8List.fromList(
|
||||||
List<int>.generate(
|
List<int>.generate(
|
||||||
100 * 4,
|
100 * 4,
|
||||||
(index) {
|
(index) => _colorBit(index, brightenColor),
|
||||||
switch (index % 4) {
|
|
||||||
case 0:
|
|
||||||
return brightenColor.red;
|
|
||||||
case 1:
|
|
||||||
return brightenColor.green;
|
|
||||||
case 2:
|
|
||||||
return brightenColor.blue;
|
|
||||||
case 3:
|
|
||||||
return brightenColor.alpha;
|
|
||||||
default:
|
|
||||||
throw 'No 4 in switch % 4';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
expect(originalBrightenPixelsList, expectedBrightenPixels);
|
expect(originalBrightenPixelsList, expectedBrightenPixels);
|
||||||
@ -170,3 +118,13 @@ void main() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int _colorBit(int index, Color color) {
|
||||||
|
return switch (index % 4) {
|
||||||
|
0 => color.red,
|
||||||
|
1 => color.green,
|
||||||
|
2 => color.blue,
|
||||||
|
3 => color.alpha,
|
||||||
|
_ => throw UnimplementedError(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@ -18,16 +18,12 @@ class Inverter extends BaseNode implements NodeInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _invertStatus() {
|
void _invertStatus() {
|
||||||
switch (child.status) {
|
status = switch (child.status) {
|
||||||
case NodeStatus.notStarted:
|
NodeStatus.notStarted => NodeStatus.notStarted,
|
||||||
status = NodeStatus.notStarted;
|
NodeStatus.running => NodeStatus.running,
|
||||||
case NodeStatus.running:
|
NodeStatus.success => NodeStatus.failure,
|
||||||
status = NodeStatus.running;
|
NodeStatus.failure => NodeStatus.success,
|
||||||
case NodeStatus.success:
|
};
|
||||||
status = NodeStatus.failure;
|
|
||||||
case NodeStatus.failure:
|
|
||||||
status = NodeStatus.success;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -26,34 +26,25 @@ class BulletComponent extends SpriteAnimationComponent
|
|||||||
}
|
}
|
||||||
|
|
||||||
double _mapWidth() {
|
double _mapWidth() {
|
||||||
switch (weapon) {
|
return switch (weapon) {
|
||||||
case Weapon.bullet:
|
Weapon.bullet => 10,
|
||||||
return 10;
|
Weapon.laser || Weapon.plasma => 5,
|
||||||
case Weapon.laser:
|
};
|
||||||
case Weapon.plasma:
|
|
||||||
return 5;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String _mapSpritePath() {
|
String _mapSpritePath() {
|
||||||
switch (weapon) {
|
return switch (weapon) {
|
||||||
case Weapon.bullet:
|
Weapon.bullet => 'bullet.png',
|
||||||
return 'bullet.png';
|
Weapon.laser => 'laser.png',
|
||||||
case Weapon.laser:
|
Weapon.plasma => 'plasma.png',
|
||||||
return 'laser.png';
|
};
|
||||||
case Weapon.plasma:
|
|
||||||
return 'plasma.png';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double _mapSpriteWidth() {
|
double _mapSpriteWidth() {
|
||||||
switch (weapon) {
|
return switch (weapon) {
|
||||||
case Weapon.bullet:
|
Weapon.bullet => 8,
|
||||||
return 8;
|
Weapon.laser || Weapon.plasma => 4,
|
||||||
case Weapon.laser:
|
};
|
||||||
case Weapon.plasma:
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -6,25 +6,19 @@ class Inventory extends StatelessWidget {
|
|||||||
const Inventory({super.key});
|
const Inventory({super.key});
|
||||||
|
|
||||||
Color _mapWeaponColor(Weapon weapon) {
|
Color _mapWeaponColor(Weapon weapon) {
|
||||||
switch (weapon) {
|
return switch (weapon) {
|
||||||
case Weapon.bullet:
|
Weapon.bullet => Colors.orange,
|
||||||
return Colors.orange;
|
Weapon.laser => Colors.red,
|
||||||
case Weapon.laser:
|
Weapon.plasma => Colors.blue,
|
||||||
return Colors.red;
|
};
|
||||||
case Weapon.plasma:
|
|
||||||
return Colors.blue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String _mapWeaponName(Weapon weapon) {
|
String _mapWeaponName(Weapon weapon) {
|
||||||
switch (weapon) {
|
return switch (weapon) {
|
||||||
case Weapon.bullet:
|
Weapon.bullet => 'Kinetic',
|
||||||
return 'Kinetic';
|
Weapon.laser => 'Laser',
|
||||||
case Weapon.laser:
|
Weapon.plasma => 'Plasma',
|
||||||
return 'Laser';
|
};
|
||||||
case Weapon.plasma:
|
|
||||||
return 'Plasma';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -135,16 +135,12 @@ class BodyComponent<T extends Forge2DGame> extends Component
|
|||||||
switch (fixture.type) {
|
switch (fixture.type) {
|
||||||
case ShapeType.chain:
|
case ShapeType.chain:
|
||||||
_renderChain(canvas, fixture);
|
_renderChain(canvas, fixture);
|
||||||
break;
|
|
||||||
case ShapeType.circle:
|
case ShapeType.circle:
|
||||||
_renderCircle(canvas, fixture);
|
_renderCircle(canvas, fixture);
|
||||||
break;
|
|
||||||
case ShapeType.edge:
|
case ShapeType.edge:
|
||||||
_renderEdge(canvas, fixture);
|
_renderEdge(canvas, fixture);
|
||||||
break;
|
|
||||||
case ShapeType.polygon:
|
case ShapeType.polygon:
|
||||||
_renderPolygon(canvas, fixture);
|
_renderPolygon(canvas, fixture);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
canvas.restore();
|
canvas.restore();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,26 +95,19 @@ class WorkerOvermind extends Component
|
|||||||
pathFinderData: game.pathFinderData,
|
pathFinderData: game.pathFinderData,
|
||||||
);
|
);
|
||||||
|
|
||||||
final List<List<IntVector2>> paths;
|
final paths = switch (isolateHud.computeType) {
|
||||||
switch (isolateHud.computeType) {
|
ComputeType.isolate => await isolateCompute(
|
||||||
case ComputeType.isolate:
|
|
||||||
paths = await isolateCompute(
|
|
||||||
_calculateWork,
|
_calculateWork,
|
||||||
calculateWorkData,
|
calculateWorkData,
|
||||||
);
|
),
|
||||||
break;
|
ComputeType.synchronous => _calculateWork(
|
||||||
case ComputeType.synchronous:
|
|
||||||
paths = _calculateWork(
|
|
||||||
calculateWorkData,
|
calculateWorkData,
|
||||||
);
|
),
|
||||||
break;
|
ComputeType.compute => await compute(
|
||||||
case ComputeType.compute:
|
|
||||||
paths = await compute(
|
|
||||||
_calculateWork,
|
_calculateWork,
|
||||||
calculateWorkData,
|
calculateWorkData,
|
||||||
);
|
),
|
||||||
break;
|
};
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0; i < paths.length; i++) {
|
for (var i = 0; i < paths.length; i++) {
|
||||||
idleWorkers[i].issueWork(
|
idleWorkers[i].issueWork(
|
||||||
|
|||||||
@ -205,7 +205,6 @@ class _Cmd {
|
|||||||
'which is not a boolean',
|
'which is not a boolean',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case _Type.integer:
|
case _Type.integer:
|
||||||
final value = int.tryParse(strValue);
|
final value = int.tryParse(strValue);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
@ -215,7 +214,6 @@ class _Cmd {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
_arguments[i] = value;
|
_arguments[i] = value;
|
||||||
break;
|
|
||||||
case _Type.double:
|
case _Type.double:
|
||||||
final value = double.tryParse(strValue);
|
final value = double.tryParse(strValue);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
@ -225,7 +223,6 @@ class _Cmd {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
_arguments[i] = value;
|
_arguments[i] = value;
|
||||||
break;
|
|
||||||
case _Type.numeric:
|
case _Type.numeric:
|
||||||
final value = num.tryParse(strValue);
|
final value = num.tryParse(strValue);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
@ -235,10 +232,8 @@ class _Cmd {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
_arguments[i] = value;
|
_arguments[i] = value;
|
||||||
break;
|
|
||||||
case _Type.string:
|
case _Type.string:
|
||||||
_arguments[i] = strValue;
|
_arguments[i] = strValue;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return _arguments;
|
return _arguments;
|
||||||
|
|||||||
@ -99,16 +99,12 @@ class FunctionStorage {
|
|||||||
return (List<FunctionArgument> args, YarnProject yarn, ErrorFn errorFn) {
|
return (List<FunctionArgument> args, YarnProject yarn, ErrorFn errorFn) {
|
||||||
final arguments = function.checkAndUnpackArguments(args, errorFn);
|
final arguments = function.checkAndUnpackArguments(args, errorFn);
|
||||||
function.useYarnProject(yarn);
|
function.useYarnProject(yarn);
|
||||||
switch (function.returnType) {
|
return switch (function.returnType) {
|
||||||
case ExpressionType.boolean:
|
ExpressionType.boolean => BooleanUserDefinedFn(function, arguments),
|
||||||
return BooleanUserDefinedFn(function, arguments);
|
ExpressionType.numeric => NumericUserDefinedFn(function, arguments),
|
||||||
case ExpressionType.numeric:
|
ExpressionType.string => StringUserDefinedFn(function, arguments),
|
||||||
return NumericUserDefinedFn(function, arguments);
|
_ => throw AssertionError('Bad return type'), // coverage:ignore-line
|
||||||
case ExpressionType.string:
|
};
|
||||||
return StringUserDefinedFn(function, arguments);
|
|
||||||
default:
|
|
||||||
throw AssertionError('Bad return type'); // coverage:ignore-line
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -45,30 +45,18 @@ class FlameMarkdown {
|
|||||||
.map(_castCheck<InlineTextNode>)
|
.map(_castCheck<InlineTextNode>)
|
||||||
.toList();
|
.toList();
|
||||||
final child = _groupInlineChildren(children);
|
final child = _groupInlineChildren(children);
|
||||||
switch (element.tag) {
|
return switch (element.tag) {
|
||||||
case 'h1':
|
'h1' => HeaderNode(child, level: 1),
|
||||||
return HeaderNode(child, level: 1);
|
'h2' => HeaderNode(child, level: 2),
|
||||||
case 'h2':
|
'h3' => HeaderNode(child, level: 3),
|
||||||
return HeaderNode(child, level: 2);
|
'h4' => HeaderNode(child, level: 4),
|
||||||
case 'h3':
|
'h5' => HeaderNode(child, level: 5),
|
||||||
return HeaderNode(child, level: 3);
|
'h6' => HeaderNode(child, level: 6),
|
||||||
case 'h4':
|
'p' => ParagraphNode(child),
|
||||||
return HeaderNode(child, level: 4);
|
'em' || 'i' => ItalicTextNode(child),
|
||||||
case 'h5':
|
'strong' || 'b' => BoldTextNode(child),
|
||||||
return HeaderNode(child, level: 5);
|
_ => throw Exception('Unknown element tag: ${element.tag}'),
|
||||||
case 'h6':
|
} as TextNode;
|
||||||
return HeaderNode(child, level: 6);
|
|
||||||
case 'p':
|
|
||||||
return ParagraphNode(child);
|
|
||||||
case 'em':
|
|
||||||
case 'i':
|
|
||||||
return ItalicTextNode(child);
|
|
||||||
case 'strong':
|
|
||||||
case 'b':
|
|
||||||
return BoldTextNode(child);
|
|
||||||
default:
|
|
||||||
throw Exception('Unknown element tag: ${element.tag}');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static PlainTextNode _convertText(Text text) {
|
static PlainTextNode _convertText(Text text) {
|
||||||
|
|||||||
@ -112,33 +112,26 @@ class RiveArtboardRenderer {
|
|||||||
case BoxFit.fill:
|
case BoxFit.fill:
|
||||||
scaleX = size.width / contentWidth;
|
scaleX = size.width / contentWidth;
|
||||||
scaleY = size.height / contentHeight;
|
scaleY = size.height / contentHeight;
|
||||||
break;
|
|
||||||
case BoxFit.contain:
|
case BoxFit.contain:
|
||||||
final minScale =
|
final minScale =
|
||||||
min(size.width / contentWidth, size.height / contentHeight);
|
min(size.width / contentWidth, size.height / contentHeight);
|
||||||
scaleX = scaleY = minScale;
|
scaleX = scaleY = minScale;
|
||||||
break;
|
|
||||||
case BoxFit.cover:
|
case BoxFit.cover:
|
||||||
final maxScale =
|
final maxScale =
|
||||||
max(size.width / contentWidth, size.height / contentHeight);
|
max(size.width / contentWidth, size.height / contentHeight);
|
||||||
scaleX = scaleY = maxScale;
|
scaleX = scaleY = maxScale;
|
||||||
break;
|
|
||||||
case BoxFit.fitHeight:
|
case BoxFit.fitHeight:
|
||||||
final minScale = size.height / contentHeight;
|
final minScale = size.height / contentHeight;
|
||||||
scaleX = scaleY = minScale;
|
scaleX = scaleY = minScale;
|
||||||
break;
|
|
||||||
case BoxFit.fitWidth:
|
case BoxFit.fitWidth:
|
||||||
final minScale = size.width / contentWidth;
|
final minScale = size.width / contentWidth;
|
||||||
scaleX = scaleY = minScale;
|
scaleX = scaleY = minScale;
|
||||||
break;
|
|
||||||
case BoxFit.none:
|
case BoxFit.none:
|
||||||
scaleX = scaleY = 1.0;
|
scaleX = scaleY = 1.0;
|
||||||
break;
|
|
||||||
case BoxFit.scaleDown:
|
case BoxFit.scaleDown:
|
||||||
final minScale =
|
final minScale =
|
||||||
min(size.width / contentWidth, size.height / contentHeight);
|
min(size.width / contentWidth, size.height / contentHeight);
|
||||||
scaleX = scaleY = minScale < 1.0 ? minScale : 1.0;
|
scaleX = scaleY = minScale < 1.0 ? minScale : 1.0;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Mat2D.setIdentity(_transform);
|
Mat2D.setIdentity(_transform);
|
||||||
|
|||||||
@ -71,9 +71,8 @@ abstract class FlameTileLayer extends RenderableLayer<TileLayer> {
|
|||||||
throw StateError('Map orientation should be present');
|
throw StateError('Map orientation should be present');
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (mapOrientation) {
|
return switch (mapOrientation) {
|
||||||
case MapOrientation.isometric:
|
MapOrientation.isometric => IsometricTileLayer(
|
||||||
return IsometricTileLayer(
|
|
||||||
layer: layer,
|
layer: layer,
|
||||||
parent: parent,
|
parent: parent,
|
||||||
map: map,
|
map: map,
|
||||||
@ -83,9 +82,8 @@ abstract class FlameTileLayer extends RenderableLayer<TileLayer> {
|
|||||||
ignoreFlip: ignoreFlip,
|
ignoreFlip: ignoreFlip,
|
||||||
filterQuality: filterQuality,
|
filterQuality: filterQuality,
|
||||||
layerPaintFactory: layerPaintFactory,
|
layerPaintFactory: layerPaintFactory,
|
||||||
);
|
),
|
||||||
case MapOrientation.staggered:
|
MapOrientation.staggered => StaggeredTileLayer(
|
||||||
return StaggeredTileLayer(
|
|
||||||
layer: layer,
|
layer: layer,
|
||||||
parent: parent,
|
parent: parent,
|
||||||
map: map,
|
map: map,
|
||||||
@ -95,9 +93,8 @@ abstract class FlameTileLayer extends RenderableLayer<TileLayer> {
|
|||||||
ignoreFlip: ignoreFlip,
|
ignoreFlip: ignoreFlip,
|
||||||
filterQuality: filterQuality,
|
filterQuality: filterQuality,
|
||||||
layerPaintFactory: layerPaintFactory,
|
layerPaintFactory: layerPaintFactory,
|
||||||
);
|
),
|
||||||
case MapOrientation.hexagonal:
|
MapOrientation.hexagonal => HexagonalTileLayer(
|
||||||
return HexagonalTileLayer(
|
|
||||||
layer: layer,
|
layer: layer,
|
||||||
parent: parent,
|
parent: parent,
|
||||||
map: map,
|
map: map,
|
||||||
@ -107,9 +104,8 @@ abstract class FlameTileLayer extends RenderableLayer<TileLayer> {
|
|||||||
ignoreFlip: ignoreFlip,
|
ignoreFlip: ignoreFlip,
|
||||||
filterQuality: filterQuality,
|
filterQuality: filterQuality,
|
||||||
layerPaintFactory: layerPaintFactory,
|
layerPaintFactory: layerPaintFactory,
|
||||||
);
|
),
|
||||||
case MapOrientation.orthogonal:
|
MapOrientation.orthogonal => OrthogonalTileLayer(
|
||||||
return OrthogonalTileLayer(
|
|
||||||
layer: layer,
|
layer: layer,
|
||||||
parent: parent,
|
parent: parent,
|
||||||
map: map,
|
map: map,
|
||||||
@ -119,8 +115,8 @@ abstract class FlameTileLayer extends RenderableLayer<TileLayer> {
|
|||||||
ignoreFlip: ignoreFlip,
|
ignoreFlip: ignoreFlip,
|
||||||
filterQuality: filterQuality,
|
filterQuality: filterQuality,
|
||||||
layerPaintFactory: layerPaintFactory,
|
layerPaintFactory: layerPaintFactory,
|
||||||
);
|
),
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
Reference in New Issue
Block a user