Beispiel #1
0
 public SingerScreen()
 {
     ColourProvider               = new OverlayColourProvider(OverlayColourScheme.Purple);
     Content.Add(SingerManager    = new SingerManager());
     Content.Add(LyricManager     = new LyricManager());
     Content.Add(editSingerDialog = new EditSingerDialog
     {
         Depth = -1,
     });
 }
        public LyricLockContextMenu(LyricManager manager, List <Lyric> lyrics, string name)
            : base(name)
        {
            Items = EnumUtils.GetValues <LockState>().Select(l => new OsuMenuItem(l.ToString(), anyLyricInLockState(l) ? MenuItemType.Highlighted : MenuItemType.Standard, () =>
            {
                // change all selected lyric state.
                lyrics.ForEach(lyric => manager.LockLyrics(lyrics, l));
            })).ToList();

            bool anyLyricInLockState(LockState lockState) => lyrics.Any(lyric => lyric.Lock == lockState);
        }
        internal void AskForAutoAssignLanguage()
        {
            DialogOverlay.Push(new UseLanguageDetectorPopupDialog(ok =>
            {
                if (!ok)
                {
                    return;
                }

                LyricManager.AutoDetectLyricLanguage();
                Navigation.State = NavigationState.Done;
            }));
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        private void load(LyricManager lyricManager, SingerLyricEditor editor)
        {
            Item.SingersBindable.BindValueChanged(e =>
            {
                // Check is lyric contains this singer, or default singer
                isSingerMatched = lyricManager.SingerInLyric(editor.Singer, Item);

                if (isSingerMatched)
                {
                    Show();
                }
                else
                {
                    this.FadeTo(0.1f, 200);
                }
            }, true);
        }
        private void load(LyricManager lyricManager)
        {
            if (HitObject is Lyric lyric)
            {
                lyric.SingersBindable.BindValueChanged(e =>
                {
                    // Check is lyric contains this singer, or default singer
                    var isSingerMatch = lyricManager.SingerInLyric(singer, lyric);

                    if (isSingerMatch)
                    {
                        Show();
                    }
                    else
                    {
                        Hide();
                    }
                }, true);
            }
        }
Beispiel #7
0
        public SingerContextMenu(LyricManager manager, List <Lyric> lyrics, string name)
            : base(name)
        {
            Items = manager.Singers?.Select(singer => new OsuMenuItem(singer.Name, anySingerInLyric(singer) ? MenuItemType.Highlighted : MenuItemType.Standard, () =>
            {
                // if only one lyric
                if (allSingerInLyric(singer))
                {
                    lyrics.ForEach(lyric => manager.RemoveSingerToLyric(singer, lyric));
                }
                else
                {
                    lyrics.ForEach(lyric => manager.AddSingerToLyric(singer, lyric));
                }
            })).ToList();

            bool anySingerInLyric(Singer singer) => lyrics.Any(lyric => manager.SingerInLyric(singer, lyric));

            bool allSingerInLyric(Singer singer) => lyrics.All(lyric => manager.SingerInLyric(singer, lyric));
        }
        internal void AskForAutoGenerateTimeTag()
        {
            if (LyricManager.HasTimedTimeTags())
            {
                // do not touch user's lyric if already contains valid time-tag with time.
                DialogOverlay.Push(new AlreadyContainTimeTagPopupDialog(ok =>
                {
                    Navigation.State = NavigationState.Done;
                }));
            }
            else
            {
                DialogOverlay.Push(new UseAutoGenerateTimeTagPopupDialog(ok =>
                {
                    if (!ok)
                    {
                        return;
                    }

                    LyricManager.AutoGenerateTimeTags();
                    Navigation.State = NavigationState.Done;
                }));
            }
        }
Beispiel #9
0
 void Start()
 {
     _lyricManager     = GameObject.Find("LyricManager").GetComponent <LyricManager>();
     blackScreen_Image = blackScreen_Canvas.GetComponentInChildren <Image>();
 }
 protected ImportLyricSubScreenWithLyricEditor()
 {
     AddInternal(LyricManager = new LyricManager());
 }
 public LyricLockContextMenu(LyricManager manager, Lyric lyric, string name)
     : this(manager, new List <Lyric> {
     lyric
 }, name)
 {
 }
Beispiel #12
0
 void Start()
 {
     _lyricManager = GameObject.Find("LyricManager").GetComponent <LyricManager>();
 }