54 lines
1.0 KiB
Dart
54 lines
1.0 KiB
Dart
import 'package:uuid/uuid.dart';
|
|
|
|
const uuid = Uuid();
|
|
|
|
class FilterConfig {
|
|
final List<Filter> filters;
|
|
|
|
FilterConfig({required this.filters});
|
|
}
|
|
|
|
class Filter {
|
|
final String id;
|
|
final bool enabled;
|
|
final FilterRule rule;
|
|
|
|
Filter({required this.id, required this.enabled, required this.rule});
|
|
}
|
|
|
|
sealed class FilterRule {}
|
|
|
|
class Leaf extends FilterRule {
|
|
final bool show;
|
|
final Map<String, Line> lines;
|
|
|
|
Leaf({required this.show, required this.lines});
|
|
}
|
|
|
|
class Group extends FilterRule {
|
|
final Map<String, Line> lines;
|
|
final List<Filter> filters;
|
|
|
|
Group({required this.lines, required this.filters});
|
|
}
|
|
|
|
sealed class Line {}
|
|
|
|
class Settings {
|
|
final List<String> baseTypes;
|
|
final List<String> classes;
|
|
final List<String> rarities;
|
|
final List<String> minimapIconShapes;
|
|
final List<String> gameColors;
|
|
final List<String> ops;
|
|
|
|
Settings({
|
|
required this.baseTypes,
|
|
required this.classes,
|
|
required this.rarities,
|
|
required this.minimapIconShapes,
|
|
required this.gameColors,
|
|
required this.ops,
|
|
});
|
|
}
|