Esempio n. 1
0
        private void load()
        {
            var layoutLookups = source.GetConfig <KaraokeIndexLookup, IDictionary <int, string> >(KaraokeIndexLookup.Layout)?.Value;

            foreach (var layoutLookup in layoutLookups)
            {
                var lookup = new KaraokeSkinLookup(KaraokeSkinConfiguration.LyricLayout, layoutLookup.Key);
                var layout = source.GetConfig <KaraokeSkinLookup, LyricLayout>(lookup)?.Value;
                if (layout != null)
                {
                    Layouts.Add(layout);
                }
            }

            LoadedLayout.Value = Layouts.FirstOrDefault();
            EditLayout.Value   = Layouts.FirstOrDefault();

            var skinLookups = source.GetConfig <KaraokeIndexLookup, IDictionary <int, string> >(KaraokeIndexLookup.Style)?.Value;

            if (skinLookups == null)
            {
                return;
            }

            foreach (var(key, value) in skinLookups)
            {
                PreviewFontSelections.Add(key, value);
            }
        }
Esempio n. 2
0
        public TestSceneSinger()
        {
            skinTransformer = new KaraokeSingerEditorSkin();

            Child = new Container
            {
                Anchor       = Anchor.Centre,
                Origin       = Anchor.Centre,
                Width        = 700,
                Height       = 500,
                Masking      = true,
                CornerRadius = 5,
                Children     = new Drawable[]
                {
                    background = new Box
                    {
                        Name             = "Background",
                        RelativeSizeAxes = Axes.Both
                    },
                    new GridContainer
                    {
                        RelativeSizeAxes = Axes.Both,
                        ColumnDimensions = new[]
                        {
                            new Dimension(GridSizeMode.Absolute, 300)
                        },
                        Content = new[]
                        {
                            new Drawable[]
                            {
                                new OsuScrollContainer
                                {
                                    RelativeSizeAxes = Axes.Both,
                                    Child            = singerTableContainer = new SingerTableContainer()
                                },
                                new OsuScrollContainer
                                {
                                    RelativeSizeAxes = Axes.Both,
                                    Child            = singerInfoContainer = new SingerInfoContainer
                                    {
                                        RelativeSizeAxes = Axes.X
                                    }
                                }
                            }
                        }
                    }
                }
            };

            var bindableSinger = skinTransformer.GetConfig <KaraokeIndexLookup, IDictionary <int, string> >(KaraokeIndexLookup.Singer);

            bindableSinger.BindValueChanged(x =>
            {
                var singers = x.NewValue.ToDictionary(i => i.Key, v =>
                {
                    // TODO : get lookup by number
                    var lookup = new KaraokeSkinLookup(KaraokeSkinConfiguration.Singer, 0);
                    return(skinTransformer.GetConfig <KaraokeSkinLookup, Singer>(lookup).Value);
                });

                singerTableContainer.Singers = singers;
            }, true);

            singerTableContainer.BindableSinger.BindValueChanged(x =>
            {
                // Update singer info
                singerInfoContainer.Singer = x.NewValue;
            });
        }