import 'dart:async'; enum CharacterType { Survivor, Hunter, } abstract class Character { String name; CharacterType type; int level; Character({required this.name, required this.type, this.level = 1}); Character.empty() : name = '', type = CharacterType.Survivor, level = 1; String getInfo() { return "Имя: $name, Тип: ${type.toString().split('.').last}, Уровень: $level"; } Future levelUp() async { await Future.delayed(const Duration(seconds: 1)); level++; print("$name поднял(а) уровень до $level."); } } class Survivor extends Character { Survivor({required String name}) : super(name: name, type: CharacterType.Survivor); void useAbility() { print("$name использовал(а) свою способность."); } } class Hunter extends Character { Hunter({required String name}) : super(name: name, type: CharacterType.Hunter); void useAbility() { print("$name использовал(а) свою способность."); } }