Skip to content

Commit fde1687

Browse files
authored
Merge pull request #64 from Jshewmaker/fix--double-faced-cards
fix: double faced cards
2 parents c7b0e00 + 78d36ea commit fde1687

30 files changed

Lines changed: 98 additions & 73 deletions

File tree

.vscode/launch.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@
2929
"type": "dart",
3030
"program": "lib/main_production.dart",
3131
"args": ["--flavor", "production", "--target", "lib/main_production.dart"]
32+
},
33+
{
34+
"name": "Launch UI Gallery",
35+
"request": "launch",
36+
"type": "dart",
37+
"program": "packages/app_ui/gallery/lib/main.dart"
3238
}
3339
]
3440
}

analysis_options.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
analyzer:
22
errors:
33
omit_local_variable_types: ignore
4-
include: package:very_good_analysis/analysis_options.5.1.0.yaml
4+
include: package:very_good_analysis/analysis_options.yaml
55
linter:
66
rules:
77
public_member_api_docs: false

ios/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
2930
shouldUseLaunchSchemeArgsEnv = "YES">
3031
<Testables>
3132
</Testables>
@@ -34,6 +35,7 @@
3435
buildConfiguration = "Debug-production"
3536
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
3637
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
38+
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
3739
launchStyle = "0"
3840
useCustomWorkingDirectory = "NO"
3941
ignoresPersistentStateOnLaunch = "NO"

lib/game/bloc/game_bloc.dart

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,18 @@ class GameBloc extends Bloc<GameEvent, GameState> {
150150
try {
151151
for (final player in _players) {
152152
final opponents = state.playerList
153-
.map((p) => Opponent(
154-
playerId: p.id,
155-
damages: [
156-
CommanderDamage(
157-
damageType: DamageType.commander, amount: 0),
158-
CommanderDamage(damageType: DamageType.partner, amount: 0),
159-
],
160-
))
153+
.map(
154+
(p) => Opponent(
155+
playerId: p.id,
156+
damages: [
157+
CommanderDamage(
158+
damageType: DamageType.commander,
159+
amount: 0,
160+
),
161+
CommanderDamage(damageType: DamageType.partner, amount: 0),
162+
],
163+
),
164+
)
161165
.toList();
162166

163167
final resetPlayer = player.copyWith(
@@ -198,12 +202,12 @@ class GameBloc extends Bloc<GameEvent, GameState> {
198202
final restored = _playerRepository.restorePreviousGameState();
199203
if (restored) {
200204
// Emit restored state as running, clear winner/error
201-
emit(state.copyWith(
202-
status: GameStatus.running,
203-
playerList: _playerRepository.getPlayers(),
204-
winner: null,
205-
error: null,
206-
));
205+
emit(
206+
state.copyWith(
207+
status: GameStatus.running,
208+
playerList: _playerRepository.getPlayers(),
209+
),
210+
);
207211
// Dispatch TimerStartEvent to TimerBloc
208212
// (Assumes context or a callback is available; see note below)
209213
// context.read<TimerBloc>().add(const TimerStartEvent());
@@ -243,8 +247,11 @@ class GameBloc extends Bloc<GameEvent, GameState> {
243247
final alivePlayers =
244248
event.players.where((p) => p.state == PlayerModelState.active).toList();
245249
if (alivePlayers.isEmpty && state.status == GameStatus.running) {
246-
add(GameFinishEvent(
247-
winner: event.players.firstWhere((p) => p.placement == 1)));
250+
add(
251+
GameFinishEvent(
252+
winner: event.players.firstWhere((p) => p.placement == 1),
253+
),
254+
);
248255
}
249256
}
250257

lib/life_counter/view/game_over_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ class WinnerWidget extends StatelessWidget {
428428
style: Theme.of(context).textTheme.titleMedium,
429429
),
430430
Text(
431-
_formatDuration(gameDuration ?? 0),
431+
_formatDuration(gameDuration),
432432
style: Theme.of(context).textTheme.titleLarge,
433433
),
434434
],

lib/login/view/login_view.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import 'package:flutter/material.dart';
66
import 'package:flutter_bloc/flutter_bloc.dart';
77
import 'package:form_inputs/form_inputs.dart';
88
import 'package:go_router/go_router.dart';
9+
import 'package:magic_yeti/app/utils/device_info_provider.dart';
910
import 'package:magic_yeti/home/home_page.dart';
1011
import 'package:magic_yeti/l10n/l10n.dart';
1112
import 'package:magic_yeti/login/login.dart';
1213
import 'package:magic_yeti/reset_password/reset_password.dart';
1314
import 'package:magic_yeti/sign_up/sign_up.dart';
14-
import 'package:magic_yeti/app/utils/device_info_provider.dart';
1515

1616
class LoginView extends StatelessWidget {
1717
const LoginView({super.key});

lib/player/view/bloc/player_customization_bloc.dart

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ class PlayerCustomizationBloc
3737
);
3838

3939
final filteredCards = cardList.data
40-
.where((card) => card.typeLine.toLowerCase().contains('legendary'))
40+
.where(
41+
(card) =>
42+
card.typeLine?.toLowerCase().contains('legendary') ?? false,
43+
)
4144
.toList();
4245
emit(
4346
state.copyWith(
@@ -88,7 +91,10 @@ class PlayerCustomizationBloc
8891
) {
8992
final cardList = event.showOnlyLegendary
9093
? state.cardList?.data
91-
.where((card) => card.typeLine.toLowerCase().contains('legendary'))
94+
.where(
95+
(card) =>
96+
card.typeLine?.toLowerCase().contains('legendary') ?? false,
97+
)
9298
.toList()
9399
: state.cardList?.data ?? [];
94100

lib/sign_up/view/sign_up_form.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import 'package:go_router/go_router.dart';
99
import 'package:magic_yeti/home/home_page.dart';
1010
import 'package:magic_yeti/l10n/l10n.dart';
1111
import 'package:magic_yeti/login/login.dart';
12-
import 'package:magic_yeti/onboarding/onboarding.dart';
1312
import 'package:magic_yeti/sign_up/sign_up.dart';
1413

1514
class SignUpForm extends StatelessWidget {

packages/analytics_repository/analytics_repository/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ dev_dependencies:
1414
flutter_test:
1515
sdk: flutter
1616
mocktail: ^1.0.3
17-
very_good_analysis: ^6.0.0
17+
very_good_analysis: ^10.1.0

packages/api_client/lib/src/models/card_models/card.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ class MagicCard extends Equatable {
120120
final String? power;
121121
final List<String>? producedMana;
122122
final String? toughness;
123-
final String typeLine;
123+
final String? typeLine;
124124
final String? oracleText;
125125
final List<String>? colors;
126126
final List<String>? colorIndicator;

0 commit comments

Comments
 (0)