| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- class IntimacyUtil {
- IntimacyUtil._();
- static final List<IntimacyLevel> intimacyLevels = [
- IntimacyLevel(max: 20, min: 0, name: "初相识", median: 10),
- IntimacyLevel(max: 40, min: 21, name: "追爱期", median: 30),
- IntimacyLevel(max: 60, min: 41, name: "暧昧期", median: 50),
- IntimacyLevel(max: 80, min: 61, name: "恋人", median: 70),
- IntimacyLevel(max: 90, min: 81, name: "伴侣", median: 85),
- IntimacyLevel(max: 100, min: 91, name: "老夫老妻", median: 95),
- ];
- /// 获取亲密程度名称
- static String getIntimacyName(int intimacy) {
- for (final level in intimacyLevels) {
- if (intimacy >= level.min && intimacy <= level.max) {
- return level.name;
- }
- }
- return "未知";
- }
- /// 获取对应的亲密程度对象
- static IntimacyLevel? getIntimacyLevel(int intimacy) {
- for (final level in intimacyLevels) {
- if (intimacy >= level.min && intimacy <= level.max) {
- return level;
- }
- }
- return null;
- }
- static int getMedianByIndex(int index) {
- if (index >= 0 && index < intimacyLevels.length) {
- return intimacyLevels[index].median;
- }
- return 0;
- }
- }
- class IntimacyLevel {
- final int max;
- final int min;
- final String name;
- final int median;
- const IntimacyLevel({
- required this.max,
- required this.min,
- required this.name,
- required this.median,
- });
- @override
- String toString() => 'IntimacyLevel($name: $min-$max)';
- }
|