Select Git revision
tile_widget.dart
game_house.dart 1.67 KiB
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:awale/cubit/game_cubit.dart';
import 'package:awale/models/game/game.dart';
import 'package:awale/ui/widgets/game/game_seeds.dart';
class GameHouseWidget extends StatelessWidget {
const GameHouseWidget({
super.key,
required this.cellIndex,
});
final int cellIndex;
@override
Widget build(BuildContext context) {
return BlocBuilder<GameCubit, GameState>(
builder: (BuildContext context, GameState gameState) {
final Game currentGame = gameState.currentGame;
final bool isTapAllowed = currentGame.isCurrentPlayerHouse(cellIndex);
final int seedsCount = currentGame.board.cells[cellIndex];
final Color baseColor =
isTapAllowed ? Colors.white : const Color.fromARGB(255, 230, 230, 230);
return GestureDetector(
onTap: () {
if (isTapAllowed && !currentGame.animationInProgress) {
BlocProvider.of<GameCubit>(context).tapOnCell(cellIndex);
}
},
child: AspectRatio(
aspectRatio: 1,
child: Container(
margin: const EdgeInsets.all(2),
padding: const EdgeInsets.all(2),
decoration: BoxDecoration(
color: baseColor,
borderRadius: BorderRadius.circular(100),
border: Border.all(
color: baseColor.darken(),
width: 4,
),
),
width: 60,
child: GameSeedsWidget(seedsCount: seedsCount),
),
),
);
},
);
}
}