Esempio n. 1
0
        public TestSceneEditorComposeRadioButtons()
        {
            EditorRadioButtonCollection collection;

            Add(collection = new EditorRadioButtonCollection
            {
                Anchor = Anchor.Centre,
                Origin = Anchor.Centre,
                Width  = 150,
                Items  = new[]
                {
                    new RadioButton("Item 1", () => { }),
                    new RadioButton("Item 2", () => { }),
                    new RadioButton("Item 3", () => { }, () => new SpriteIcon {
                        Icon = FontAwesome.Regular.Angry
                    }),
                    new RadioButton("Item 4", () => { }),
                    new RadioButton("Item 5", () => { })
                }
            });

            for (int i = 0; i < collection.Items.Count; i++)
            {
                int l = i;
                AddStep($"Select item {l + 1}", () => collection.Items[l].Select());
                AddStep($"Deselect item {l + 1}", () => collection.Items[l].Deselect());
            }
        }
Esempio n. 2
0
        private void load()
        {
            Config = Dependencies.Get <RulesetConfigCache>().GetConfigFor(Ruleset);

            try
            {
                drawableRulesetWrapper = new DrawableEditorRulesetWrapper <TObject>(CreateDrawableRuleset(Ruleset, EditorBeatmap.PlayableBeatmap, new[] { Ruleset.GetAutoplayMod() }))
                {
                    Clock = EditorClock,
                    ProcessCustomClock = false
                };
            }
            catch (Exception e)
            {
                Logger.Error(e, "Could not load beatmap successfully!");
                return;
            }

            dependencies.CacheAs(Playfield);

            const float toolbar_width = 200;

            InternalChildren = new Drawable[]
            {
                new Container
                {
                    Name    = "Content",
                    Padding = new MarginPadding {
                        Left = toolbar_width
                    },
                    RelativeSizeAxes = Axes.Both,
                    Children         = new Drawable[]
                    {
                        // layers below playfield
                        drawableRulesetWrapper.CreatePlayfieldAdjustmentContainer().WithChild(LayerBelowRuleset),
                        drawableRulesetWrapper,
                        // layers above playfield
                        drawableRulesetWrapper.CreatePlayfieldAdjustmentContainer()
                        .WithChild(BlueprintContainer = CreateBlueprintContainer())
                    }
                },
                new FillFlowContainer
                {
                    Name             = "Sidebar",
                    RelativeSizeAxes = Axes.Y,
                    Width            = toolbar_width,
                    Padding          = new MarginPadding {
                        Right = 10
                    },
                    Spacing  = new Vector2(10),
                    Children = new Drawable[]
                    {
                        new ToolboxGroup("toolbox (1-9)")
                        {
                            Child = toolboxCollection = new EditorRadioButtonCollection {
                                RelativeSizeAxes = Axes.X
                            }
                        },
                        new ToolboxGroup("toggles (Q~P)")
                        {
                            Child = togglesCollection = new FillFlowContainer
                            {
                                RelativeSizeAxes = Axes.X,
                                AutoSizeAxes     = Axes.Y,
                                Direction        = FillDirection.Vertical,
                                Spacing          = new Vector2(0, 5),
                            },
                        }
                    }
                },
            };

            toolboxCollection.Items = CompositionTools
                                      .Prepend(new SelectTool())
                                      .Select(t => new RadioButton(t.Name, () => toolSelected(t), t.CreateIcon))
                                      .ToList();

            TernaryStates = CreateTernaryButtons().ToArray();
            togglesCollection.AddRange(TernaryStates.Select(b => new DrawableTernaryButton(b)));

            setSelectTool();

            EditorBeatmap.SelectedHitObjects.CollectionChanged += selectionChanged;
        }