public override void LoadLyric(WordLyric lyric) { OnAddLyricLine?.Invoke(lyric); commandList = new SortedList <float, FlagCommand>(); CurrentCusor = -1; for (int i = 0; i < lyric.Length; i++) { var line = lyric[i]; //行切换的指令 LineCommand lineCmd = new LineCommand(line) { linecode = i }; if (i + 1 < lyric.Length) { lineCmd.SetupExitStatus(lyric[i + 1].ActiveTime); } else { lineCmd.SetupExitStatus(float.PositiveInfinity); } commandList.Add(line.ActiveTime, lineCmd); //组切换的指令 HandleGroupCollection(lineCmd, line.LyricGroup, false, lineCmd.enter_group_status, lineCmd.exit_group_status); HandleGroupCollection(lineCmd, line.TranslateGroup, true, lineCmd.enter_group_status_translate, lineCmd.exit_group_status_translate); } }