Esempio n. 1
0
        public bool CanAutoGenerateRuby()
        {
            var selector = new RubyTagGeneratorSelector();
            var lyrics   = beatmap.HitObjects.OfType <Lyric>().ToList();

            return(lyrics.Any(lyric => selector.Generatable(lyric)));
        }
Esempio n. 2
0
        [TestCase(1028, "はなび", null)]                               // Chinese(should not supported)
        public void TestCreateRubyTag(int lcid, string text, string[] actualRuby)
        {
            var lyric = new Lyric
            {
                Language = new CultureInfo(lcid),
                Text     = text,
            };
            var selector      = new RubyTagGeneratorSelector();
            var generatedRuby = selector.GenerateRubyTags(lyric);

            TextTagAssert.ArePropertyEqual(generatedRuby, TestCaseTagHelper.ParseRubyTags(actualRuby));
        }
Esempio n. 3
0
        /// <summary>
        /// Will auto-detect each <see cref="Lyric"/> 's <see cref="Lyric.RubyTags"/> and apply on them.
        /// </summary>
        public void AutoGenerateRubyTags()
        {
            var lyrics = beatmap.HitObjects.OfType <Lyric>().ToList();

            if (!lyrics.Any())
            {
                return;
            }

            changeHandler?.BeginChange();

            var selector = new RubyTagGeneratorSelector();

            foreach (var lyric in lyrics)
            {
                var rubyTags = selector.GenerateRubyTags(lyric);
                lyric.RubyTags = rubyTags;
            }

            changeHandler?.EndChange();
        }