From 45ab8e4aedb0d6fe26641750cc87b185c00001d7 Mon Sep 17 00:00:00 2001 From: Hans Kokx Date: Sun, 15 Mar 2026 14:57:03 +0100 Subject: [PATCH] Move level count to getter Signed-off-by: Hans Kokx --- lib/features/screens/episode_screen.dart | 5 +---- packages/wolf_3d_data_types/lib/src/wolfenstein_data.dart | 5 +++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/features/screens/episode_screen.dart b/lib/features/screens/episode_screen.dart index f56fdfd..51d9621 100644 --- a/lib/features/screens/episode_screen.dart +++ b/lib/features/screens/episode_screen.dart @@ -36,10 +36,7 @@ class _EpisodeScreenState extends State { @override Widget build(BuildContext context) { - final int numberOfEpisodes = (Wolf3d.I.levels.length / 10).floor().clamp( - 1, - 6, - ); + final int numberOfEpisodes = Wolf3d.I.activeGame.numberOfEpisodes; return Scaffold( backgroundColor: Colors.black, diff --git a/packages/wolf_3d_data_types/lib/src/wolfenstein_data.dart b/packages/wolf_3d_data_types/lib/src/wolfenstein_data.dart index eee6f88..2cc058d 100644 --- a/packages/wolf_3d_data_types/lib/src/wolfenstein_data.dart +++ b/packages/wolf_3d_data_types/lib/src/wolfenstein_data.dart @@ -10,6 +10,11 @@ class WolfensteinData { final List levels; final List vgaImages; + // --- Derived Properties --- + /// Calculates the number of available episodes based on the loaded levels. + /// (Each episode consists of exactly 10 levels). + int get numberOfEpisodes => (levels.length / 10).floor().clamp(1, 6); + const WolfensteinData({ required this.version, required this.walls,