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); } }
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; }); }