/// 스킬 엔트리 (Skill Entry)
class SkillEntry {
  const SkillEntry({required this.name, required this.rank});

  final String name;
  final String rank; // 예: 로마 숫자 (Roman numerals)

  SkillEntry copyWith({String? name, String? rank}) {
    return SkillEntry(name: name ?? this.name, rank: rank ?? this.rank);
  }
}

/// 스킬북 (Skill Book)
///
/// 캐릭터가 보유한 스킬 목록을 관리
class SkillBook {
  const SkillBook({required this.skills});

  final List<SkillEntry> skills;

  factory SkillBook.empty() => const SkillBook(skills: []);

  SkillBook copyWith({List<SkillEntry>? skills}) {
    return SkillBook(skills: skills ?? this.skills);
  }
}
