private void load(EditorBeatmap beatmap, KaraokeRulesetEditCheckerConfigManager rulesetEditCheckerConfigManager) { var config = rulesetEditCheckerConfigManager?.Get <LyricCheckerConfig>(KaraokeRulesetEditCheckerSetting.Lyric) ?? new LyricCheckerConfig().CreateDefaultConfig(); lyricChecker = new LyricChecker(config); // load lyric in here var lyrics = beatmap.HitObjects.OfType <Lyric>().ToList(); CheckLyrics(lyrics); // need to check is there any lyric added or removed. beatmap.HitObjectAdded += e => { if (e is Lyric lyric) { CheckLyric(lyric); } }; beatmap.HitObjectRemoved += e => { if (e is Lyric lyric) { RemoveFromCheckList(lyric); } }; }
public KaraokeHitObjectComposer(Ruleset ruleset) : base(ruleset) { // Duplicated registration because selection handler need to use it. positionCalculator = new PositionCalculator(9); editConfigManager = new KaraokeRulesetEditConfigManager(); generatorConfigManager = new KaraokeRulesetEditGeneratorConfigManager(); checkerConfigManager = new KaraokeRulesetEditCheckerConfigManager(); AddInternal(exportLyricManager = new ExportLyricManager()); AddInternal(noteManager = new NoteManager()); AddInternal(lyricManager = new LyricManager()); AddInternal(lyricCheckerManager = new LyricCheckerManager()); AddInternal(singerManager = new SingerManager()); LayerBelowRuleset.Add(languageSelectionDialog = new LanguageSelectionDialog()); }