fluffychat/lib/pangea/analytics_misc/construct_level_enum.dart
wcjord d773347d6e
Morph-repo-2 (#1681)
* feat(morphs): repo for getting lang-specific list of morphs

* integrated repo into use of morph features and tags

* generated

* merged with previous push

* generated

* generated

* chore: fix .env file path

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
2025-02-03 12:21:29 -05:00

82 lines
2.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/analytics_misc/analytics_constants.dart';
enum ConstructLevelEnum {
flowers,
greens,
seeds,
}
extension ConstructLevelEnumExt on ConstructLevelEnum {
Color get color {
switch (this) {
case ConstructLevelEnum.flowers:
return Color.lerp(AppConfig.primaryColor, Colors.white, 0.6) ??
AppConfig.primaryColor;
case ConstructLevelEnum.greens:
return Color.lerp(AppConfig.success, Colors.white, 0.6) ??
AppConfig.success;
case ConstructLevelEnum.seeds:
return Color.lerp(AppConfig.gold, Colors.white, 0.6) ?? AppConfig.gold;
}
}
Color get darkColor {
switch (this) {
case ConstructLevelEnum.flowers:
return Color.lerp(AppConfig.primaryColor, Colors.white, 0.3) ??
AppConfig.primaryColor;
case ConstructLevelEnum.greens:
return Color.lerp(AppConfig.success, Colors.black, 0.3) ??
AppConfig.success;
case ConstructLevelEnum.seeds:
return Color.lerp(AppConfig.gold, Colors.black, 0.3) ?? AppConfig.gold;
}
}
String get svgURL {
switch (this) {
case ConstructLevelEnum.seeds:
return "${AppConfig.assetsBaseURL}/${AnalyticsConstants.seedSvgFileName}";
case ConstructLevelEnum.greens:
return "${AppConfig.assetsBaseURL}/${AnalyticsConstants.leafSvgFileName}";
case ConstructLevelEnum.flowers:
return "${AppConfig.assetsBaseURL}/${AnalyticsConstants.flowerSvgFileName}";
}
}
String get emoji {
switch (this) {
case ConstructLevelEnum.flowers:
return AnalyticsConstants.emojiForFlower;
case ConstructLevelEnum.greens:
return AnalyticsConstants.emojiForGreen;
case ConstructLevelEnum.seeds:
return AnalyticsConstants.emojiForSeed;
}
}
String get xpString {
switch (this) {
case ConstructLevelEnum.flowers:
return ">${AnalyticsConstants.xpForFlower}";
case ConstructLevelEnum.greens:
return ">${AnalyticsConstants.xpForGreens}";
case ConstructLevelEnum.seeds:
return "<${AnalyticsConstants.xpForGreens}";
}
}
int get xpNeeded {
switch (this) {
case ConstructLevelEnum.flowers:
return AnalyticsConstants.xpForFlower;
case ConstructLevelEnum.greens:
return AnalyticsConstants.xpForGreens;
case ConstructLevelEnum.seeds:
return 0;
}
}
}