import 'package:flutter/material.dart'; import '../common/custom_button_widget.dart'; class BattleControls extends StatelessWidget { final bool isAttackEnabled; final bool isDefendEnabled; final VoidCallback onAttackPressed; final VoidCallback onDefendPressed; final VoidCallback onItemPressed; // New const BattleControls({ super.key, required this.isAttackEnabled, required this.isDefendEnabled, required this.onAttackPressed, required this.onDefendPressed, required this.onItemPressed, // New }); @override Widget build(BuildContext context) { return Column( mainAxisSize: MainAxisSize.min, children: [ CustomButtonWidget( width: 64, height: 64, padding: const EdgeInsets.all(12), onTap: isAttackEnabled ? onAttackPressed : null, child: Opacity( opacity: isAttackEnabled ? 1.0 : 0.5, child: Image.asset( 'assets/images/icons/weapons/sword_02.png', color: Colors.white, fit: BoxFit.contain, ), ), ), const SizedBox(height: 16), CustomButtonWidget( width: 64, height: 64, padding: const EdgeInsets.all(12), onTap: isDefendEnabled ? onDefendPressed : null, child: Opacity( opacity: isDefendEnabled ? 1.0 : 0.5, child: Image.asset( 'assets/images/icons/subweapons/shield_02.png', color: Colors.white, fit: BoxFit.contain, ), ), ), const SizedBox(height: 16), CustomButtonWidget( width: 64, height: 64, padding: const EdgeInsets.all(12), onTap: onItemPressed, // Item usually always enabled or managed by parent? Sticking to logic child: Opacity( opacity: isAttackEnabled ? 1.0 : 0.5, // Using AttackEnabled as proxy for "Player Turn"? Text implies "Enabled when it's player turn" child: Image.asset( 'assets/images/icons/potions/potion_blue.png', color: Colors.white, fit: BoxFit.contain, ), ), ), ], ); } }