feat: Update GameVersion enum to include labels for game releases
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -74,19 +74,6 @@ class NoGameDataScreen extends StatelessWidget {
|
|||||||
static final Color _warningColor = _colorFromVgaIndex(14);
|
static final Color _warningColor = _colorFromVgaIndex(14);
|
||||||
static final Color _mutedColor = _colorFromVgaIndex(8);
|
static final Color _mutedColor = _colorFromVgaIndex(8);
|
||||||
|
|
||||||
static String _versionLabel(GameVersion version) {
|
|
||||||
switch (version) {
|
|
||||||
case GameVersion.shareware:
|
|
||||||
return 'Wolf3D Shareware';
|
|
||||||
case GameVersion.retail:
|
|
||||||
return 'Wolf3D Retail';
|
|
||||||
case GameVersion.spearOfDestiny:
|
|
||||||
return 'Spear of Destiny';
|
|
||||||
case GameVersion.spearOfDestinyDemo:
|
|
||||||
return 'Spear of Destiny Demo';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static String _stateLabel(GameDataVersionState state) {
|
static String _stateLabel(GameDataVersionState state) {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case GameDataVersionState.incomplete:
|
case GameDataVersionState.incomplete:
|
||||||
@@ -260,7 +247,7 @@ class NoGameDataScreen extends StatelessWidget {
|
|||||||
) => DropdownMenuItem<GameVersion>(
|
) => DropdownMenuItem<GameVersion>(
|
||||||
value: analysis.version,
|
value: analysis.version,
|
||||||
child: Text(
|
child: Text(
|
||||||
'${_versionLabel(analysis.version)} (${analysis.dataVersion.name})',
|
'${analysis.version.label} (${analysis.dataVersion.name})',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@@ -403,7 +390,7 @@ class _VersionCard extends StatelessWidget {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
NoGameDataScreen._versionLabel(analysis.version),
|
analysis.version.label,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: titleColor,
|
color: titleColor,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
/// Supported game releases and their associated file extensions.
|
/// Supported game releases and their associated file extensions.
|
||||||
enum GameVersion {
|
enum GameVersion {
|
||||||
/// Wolfenstein 3D Shareware (.WL1)
|
/// Wolfenstein 3D Shareware (.WL1)
|
||||||
shareware("WL1"),
|
shareware("WL1", "Wolf3D Shareware"),
|
||||||
|
|
||||||
/// Wolfenstein 3D Full Retail (.WL6)
|
/// Wolfenstein 3D Full Retail (.WL6)
|
||||||
retail("WL6"),
|
retail("WL6", "Wolf3D Retail"),
|
||||||
|
|
||||||
/// Spear of Destiny Full Version (.SOD)
|
/// Spear of Destiny Full Version (.SOD)
|
||||||
spearOfDestiny("SOD"),
|
spearOfDestiny("SOD", "Spear of Destiny"),
|
||||||
|
|
||||||
/// Spear of Destiny Demo (.SDM)
|
/// Spear of Destiny Demo (.SDM)
|
||||||
spearOfDestinyDemo("SDM")
|
spearOfDestinyDemo("SDM", "Spear of Destiny Demo")
|
||||||
;
|
;
|
||||||
|
|
||||||
final String fileExtension;
|
final String fileExtension;
|
||||||
const GameVersion(this.fileExtension);
|
final String label;
|
||||||
|
const GameVersion(this.fileExtension, this.label);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user