Optimized ruleset touples
This commit is contained in:
@@ -67,6 +67,9 @@ class _CreateMatchViewState extends State<CreateMatchView> {
|
|||||||
/// The currently selected players
|
/// The currently selected players
|
||||||
List<Player>? selectedPlayers;
|
List<Player>? selectedPlayers;
|
||||||
|
|
||||||
|
/// List of available rulesets with their localized string representations
|
||||||
|
late final List<(Ruleset, String)> _rulesets;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -88,9 +91,11 @@ class _CreateMatchViewState extends State<CreateMatchView> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
List<(Ruleset, String)> _getRulesets(BuildContext context) {
|
@override
|
||||||
|
void didChangeDependencies() {
|
||||||
|
super.didChangeDependencies();
|
||||||
final loc = AppLocalizations.of(context);
|
final loc = AppLocalizations.of(context);
|
||||||
return [
|
_rulesets = [
|
||||||
(Ruleset.singleWinner, loc.ruleset_single_winner),
|
(Ruleset.singleWinner, loc.ruleset_single_winner),
|
||||||
(Ruleset.singleLoser, loc.ruleset_single_loser),
|
(Ruleset.singleLoser, loc.ruleset_single_loser),
|
||||||
(Ruleset.mostPoints, loc.ruleset_most_points),
|
(Ruleset.mostPoints, loc.ruleset_most_points),
|
||||||
@@ -147,9 +152,9 @@ class _CreateMatchViewState extends State<CreateMatchView> {
|
|||||||
if (selectedGameIndex != -1) {
|
if (selectedGameIndex != -1) {
|
||||||
hintText = games[selectedGameIndex].$1;
|
hintText = games[selectedGameIndex].$1;
|
||||||
selectedRuleset = games[selectedGameIndex].$3;
|
selectedRuleset = games[selectedGameIndex].$3;
|
||||||
selectedRulesetIndex = _getRulesets(
|
selectedRulesetIndex = _rulesets.indexWhere(
|
||||||
context,
|
(r) => r.$1 == selectedRuleset,
|
||||||
).indexWhere((r) => r.$1 == selectedRuleset);
|
);
|
||||||
} else {
|
} else {
|
||||||
hintText = 'Match Name';
|
hintText = 'Match Name';
|
||||||
selectedRuleset = null;
|
selectedRuleset = null;
|
||||||
@@ -163,17 +168,16 @@ class _CreateMatchViewState extends State<CreateMatchView> {
|
|||||||
? loc.none
|
? loc.none
|
||||||
: translateRulesetToString(selectedRuleset!, context),
|
: translateRulesetToString(selectedRuleset!, context),
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
final rulesets = _getRulesets(context);
|
|
||||||
selectedRuleset = await Navigator.of(context).push(
|
selectedRuleset = await Navigator.of(context).push(
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => ChooseRulesetView(
|
builder: (context) => ChooseRulesetView(
|
||||||
rulesets: rulesets,
|
rulesets: _rulesets,
|
||||||
initialRulesetIndex: selectedRulesetIndex,
|
initialRulesetIndex: selectedRulesetIndex,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
if (!mounted) return;
|
if (!mounted) return;
|
||||||
selectedRulesetIndex = rulesets.indexWhere(
|
selectedRulesetIndex = _rulesets.indexWhere(
|
||||||
(r) => r.$1 == selectedRuleset,
|
(r) => r.$1 == selectedRuleset,
|
||||||
);
|
);
|
||||||
selectedGameIndex = -1;
|
selectedGameIndex = -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user