public GDEBreadcrumb(T value) : base(value) { AutoSizeAxes = Axes.X; AddRangeInternal(new Drawable[] { new Container { Masking = true, CornerRadius = 5, AutoSizeAxes = Axes.X, RelativeSizeAxes = Axes.Y, Children = new Drawable[] { background = new Box { RelativeSizeAxes = Axes.Both, Colour = GDEColors.FromHex("1a1a1a") }, text = new SpriteText { Origin = Anchor.CentreLeft, Anchor = Anchor.CentreLeft, Margin = new MarginPadding(3), Padding = new MarginPadding(5), Text = value.ToString(), } } } }); }
private void load(AudioManager audio) { BackgroundColour = Color4.Transparent; BackgroundColourHover = GDEColors.FromHex(@"172023"); UpdateTextColor(); }
public DrawableGDEMenuItem(MenuItem item) : base(item) { BackgroundColour = Color4.Transparent; BackgroundColourHover = GDEColors.FromHex(@"172023"); UpdateTextColor(); }
public GDEButton() : base() { Height = 30; CornerRadius = 3; Masking = true; BackgroundColour = GDEColors.FromHex("303030"); }
public SubMenu() : base(Direction.Vertical) { OriginPosition = new Vector2(5, 1); ItemsContainer.Padding = new MarginPadding { Top = 5, Bottom = 5 }; BackgroundColour = GDEColors.FromHex("333"); }
public ObjectButton(int objectID = 1) { BackgroundColour = GDEColors.FromHex("333"); Add(Object = new ObjectBase(new GeneralObject(objectID)) { Depth = -1, Selectable = false }); }
public EditorMenuBar() : base(Direction.Horizontal, true) { RelativeSizeAxes = Axes.X; MaskingContainer.CornerRadius = 0; ItemsContainer.Padding = new MarginPadding { Left = 100 }; BackgroundColour = GDEColors.FromHex("111"); }
public LevelCard() { Children = new Drawable[] { hoverBox = new Box { RelativeSizeAxes = Axes.Both, Colour = GDEColors.FromHex("161616") }, selectionBar = new Box { RelativeSizeAxes = Axes.Y, Size = new Vector2(5, 1f), Colour = GDEColors.FromHex("202020") }, new FillFlowContainer { Direction = FillDirection.Vertical, RelativeSizeAxes = Axes.Both, Margin = new MarginPadding { Left = 10 }, Children = new Drawable[] { levelName = new SpriteText { Text = Level.Value?.Name ?? "Unknown Name", TextSize = 30 }, levelSong = new SpriteText { Text = "SongAuthor - SongTitle", TextSize = 20, Colour = GDEColors.FromHex("aaaaaa") } } }, levelLength = new SpriteText { Anchor = Anchor.BottomRight, Origin = Anchor.BottomRight, Margin = new MarginPadding(5), Text = "Loading...", TextSize = 20, Colour = GDEColors.FromHex("aaaaaa") } }; Selected.ValueChanged += OnSelected; Level.ValueChanged += OnLevelChange; }
public DrawableEditorBarMenuItem(MenuItem item) : base(item) { Anchor = Anchor.CentreLeft; Origin = Anchor.CentreLeft; StateChanged += OnStateChanged; ForegroundColour = GDEColors.FromHex("8BB9FE"); BackgroundColour = Color4.Transparent; ForegroundColourHover = Color4.White; BackgroundColourHover = GDEColors.FromHex("333"); }
public LevelTab() { RelativeSizeAxes = Axes.Both; colours = new ColourInfo { TopLeft = GDEColors.FromHex("353535"), TopRight = GDEColors.FromHex("353535"), BottomLeft = GDEColors.FromHex("272727"), BottomRight = GDEColors.FromHex("272727") }; Children = new Drawable[] { new Container { Masking = true, CornerRadius = 5, RelativeSizeAxes = Axes.Both, Scale = new Vector2(1f, 1.1f), Position = new Vector2(1f, -5f), Children = new Drawable[] { tab = new Box { RelativeSizeAxes = Axes.Both, Origin = Anchor.Centre, Anchor = Anchor.Centre, Colour = colours }, hoverLayer = new Box { RelativeSizeAxes = Axes.Both, Origin = Anchor.Centre, Anchor = Anchor.Centre, Alpha = 0 }, Text = new SpriteText { Origin = Anchor.Centre, Anchor = Anchor.Centre, } } } }; }
private void UpdateTextColor() { switch ((Item as GDEMenuItem)?.Type) { default: case MenuItemType.Standard: text.Colour = Color4.White; break; case MenuItemType.Destructive: text.Colour = Color4.Red; break; case MenuItemType.Highlighted: text.Colour = GDEColors.FromHex(@"ffcc22"); break; } }
public TestSceneOverlayPopup() { Children = new Drawable[] { popup = new OverlayPopup { Anchor = Anchor.Centre, Origin = Anchor.Centre, Size = new Vector2(750, 270), HeaderText = "Message1", BodyText = "Message2", Button1Text = "Button1", Button2Text = "Button2", ConfirmButtonColor = GDEColors.FromHex("A9A9E3") } }; AddStep("toggle", popup.ToggleVisibility); }
public TestSceneTheme() { Children = new Drawable[] { new FillFlowContainer { Direction = FillDirection.Horizontal, RelativeSizeAxes = Axes.Both, Spacing = new Vector2(10, 0), Children = new Drawable[] { hexBox = new TextBox { Text = "151515", Size = new Vector2(80, 20), }, new Button { Text = "Dark theme", Size = new Vector2(80, 20), Action = () => hexValue.Value = "151515", BackgroundColour = GDEColors.FromHex("1c1c1c") }, new Button { Text = "Light theme", Size = new Vector2(80, 20), Action = () => hexValue.Value = "e5e5e5", BackgroundColour = GDEColors.FromHex("1c1c1c") } } }, themedBox = new Box { Colour = GDEColors.FromHex(hexValue.Value), Size = new Vector2(190), Origin = Anchor.TopRight, Anchor = Anchor.TopRight } }; hexValue.ValueChanged += HexChanged; hexBox.Current.ValueChanged += HexBoxChanged; }
public Lords() { InternalChildren = new Drawable[] { container = new FillFlowContainer { RelativeSizeAxes = Axes.Both, Direction = FillDirection.Horizontal, Spacing = new Vector2(100, 0), Alpha = 0f, Children = new Drawable[] { AlFas = new SpriteText { Text = "AlFas", Font = new FontUsage(size: 170), Origin = Anchor.Centre, Anchor = Anchor.Centre }, Alten = new SpriteText { Text = "Alten", Font = new FontUsage(size: 170), Origin = Anchor.Centre, Anchor = Anchor.Centre } } }, exitButton = new GDEButton { Text = "Exit", Action = this.Exit, Size = new Vector2(100, 50), Anchor = Anchor.BottomLeft, Origin = Anchor.BottomLeft, BackgroundColour = GDEColors.FromHex("191919"), Alpha = 0 } }; }
public GDEBreadcrumbNavigation() { AddRangeInternal(new Drawable[] { new Container { Masking = true, CornerRadius = DefaultCornerRadius, Depth = 1, Height = 30, RelativeSizeAxes = Axes.X, Children = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = GDEColors.FromHex("121212") } } } }); }
public Toolbar() { Children = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = GDEColors.FromHex("161616") }, new FillFlowContainer { Direction = FillDirection.Horizontal, RelativeSizeAxes = Axes.Both, Children = new Drawable[] { LevelName = new SpriteText { Margin = new MarginPadding(5), Text = "No level selected", TextSize = 30 }, SongName = new SpriteText { Anchor = Anchor.BottomLeft, Origin = Anchor.BottomLeft, Margin = new MarginPadding(5), Colour = GDEColors.FromHex("666666"), TextSize = 25 } } }, new FillFlowContainer { Direction = FillDirection.Horizontal, Anchor = Anchor.CentreRight, Origin = Anchor.CentreRight, RelativeSizeAxes = Axes.Both, Children = new Drawable[] { new GDEButton { Anchor = Anchor.CentreRight, Origin = Anchor.CentreRight, Margin = new MarginPadding(5), Width = 80, BackgroundColour = GDEColors.FromHex("c6262e"), Text = "Delete", Action = () => Delete?.Invoke() }, new GDEButton { Anchor = Anchor.CentreRight, Origin = Anchor.CentreRight, Margin = new MarginPadding(5), Width = 80, BackgroundColour = GDEColors.FromHex("242424"), Text = "Edit", Action = () => Edit?.Invoke() } } } }; Level.ValueChanged += OnChanged; }
private void HexChanged(ValueChangedEvent <string> value) { themedBox.FadeColour(GDEColors.FromHex(value.NewValue), 500); }
private void load() { Colour = defaultColour = GDEColors.FromHex("888"); hoverColour = GDEColors.FromHex("fff"); highlightColour = GDEColors.FromHex("88b300"); }
protected override void Update() { if (!finishedLoading && (finishedLoading = database.GetLevelsStatus >= TaskStatus.RanToCompletion)) { if ((levels = database.UserLevels).Count == 0) { AddInternal(new FillFlowContainer { Direction = FillDirection.Vertical, Anchor = Anchor.Centre, Origin = Anchor.Centre, Spacing = new Vector2(0, 30), Children = new Drawable[] { new SpriteIcon { Anchor = Anchor.Centre, Origin = Anchor.Centre, Icon = FontAwesome.Solid.Times, Size = new Vector2(192), Colour = GDEColors.FromHex("666666") }, new SpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, Text = "There doesn't seem to be anything here...", Font = @"OpenSans", TextSize = 24, Colour = GDEColors.FromHex("666666") }, new GDEButton { Anchor = Anchor.Centre, Origin = Anchor.Centre, Width = 200, Text = "Create a new level", BackgroundColour = GDEColors.FromHex("242424") } } }); } else if (!alreadyRun) { for (var i = 0; i < database.UserLevels.Count; i++) { Cards.Add(new LevelCard { RelativeSizeAxes = Axes.X, Size = new Vector2(0.9f, 60), Margin = new MarginPadding(10), Index = i, Level = { Value = database.UserLevels[i] } }); Logger.Log($"Loaded: {database.UserLevels[i].LevelNameWithRevision}."); } foreach (var c in Cards) { levelList.Add(Cards[c.Index]); Cards[c.Index].Selected.ValueChanged += obj => { if (obj.NewValue) { foreach (var j in Cards) { if (j != Cards[c.Index] && j.Selected.Value) { j.Selected.Value = false; } } } LevelIndex = obj.NewValue ? c.Index : -1; LevelSelected?.Invoke(); }; } CompletedLoading?.Invoke(); alreadyRun = true; Logger.Log("Loaded all levels successfully."); } } }
public EditorScreen(int index, Level level) { RelativeSizeAxes = Axes.Both; Editor = new Editor(level); // TODO: Inject editor into dependencies to work with the other things RPC.UpdatePresence(Editor.Level.Name, "Editing a level", new Assets { LargeImageKey = "gde", LargeImageText = "GD Edit" }); i = index; AddRangeInternal(new Drawable[] { background = new Sprite { Origin = Anchor.BottomLeft, Anchor = Anchor.BottomLeft, Depth = float.MaxValue, Colour = GDEColors.FromHex("4f4f4f"), Size = new Vector2(2048, 2048) }, camera = new Camera(Editor) { RelativeSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, Children = new Drawable[] { grid = new Grid { Size = new Vector2(1.1f), //Doubles the size Anchor = Anchor.Centre, Origin = Anchor.Centre }, new GridOrigin { Size = new Vector2(1.1f), Anchor = Anchor.Centre, Origin = Anchor.Centre }, preview = new LevelPreview(this, index) { Anchor = Anchor.Centre, Origin = Anchor.Centre } } }, tools = new EditorTools(preview, camera) { Size = new Vector2(150, 300), Anchor = Anchor.CentreLeft, Origin = Anchor.CentreLeft }, OpenFileDialogBindable.Value = new OpenFileDialog { RelativeSizeAxes = Axes.Both, Size = new Vector2(0.8f), Anchor = Anchor.Centre, Origin = Anchor.Centre, Depth = -10 }, SaveFileDialogBindable.Value = new SaveFileDialog { RelativeSizeAxes = Axes.Both, Size = new Vector2(0.8f), Anchor = Anchor.Centre, Origin = Anchor.Centre, Depth = -10 }, IDMigrationPanel = new IDMigrationPanel(this) { Anchor = Anchor.Centre, Origin = Anchor.Centre, LockDrag = true } }); camera.PostInit(); }
private void OnSelected(ValueChangedEvent <bool> value) { selectionBar.FadeColour(GDEColors.FromHex(value.OldValue ? "202020" : "00bc5c"), 200); }
public MainScreen() { RPC.UpdatePresence("Looking for levels", null, new Assets { LargeImageKey = "gde", LargeImageText = "GD Edit" }); AddRangeInternal(new Drawable[] { new DrawSizePreservingFillContainer { Strategy = DrawSizePreservationStrategy.Average, RelativeSizeAxes = Axes.Both, Children = new Drawable[] { toolbar = new Toolbar { RelativeSizeAxes = Axes.X, Size = new Vector2(1f, 40), Delete = () => popUp.ToggleVisibility() }, new Box { RelativeSizeAxes = Axes.Y, Width = 260, Colour = GDEColors.FromHex("111111"), Margin = new MarginPadding { Top = 40 } }, levelList = new LevelList { RelativeSizeAxes = Axes.Y, Width = 260, Padding = new MarginPadding { Top = 40, Bottom = 40 } }, popUp = new OverlayPopup { HeaderText = "Woah there!", BodyText = "Are you really sure you want to delete this level?", Button1Text = "Cancel", Button2Text = "Confirm", ConfirmButtonColor = GDEColors.FromHex("c6262e"), Origin = Anchor.Centre, Anchor = Anchor.Centre, Size = new Vector2(750, 270), ConfirmAction = () => { var selectedLevel = levelList.LevelIndex > -1 ? levelList.Cards[levelList.LevelIndex].Level.Value : null; //if (selectedLevel != null) //database. delete level here levelList.Remove(levelList.Cards[levelList.LevelIndex]); } }, loadWarning = new SpriteText { Origin = Anchor.Centre, Anchor = Anchor.Centre, Text = "Loading please wait", Font = new FontUsage(size: 60) } } } }); toolbar.Level.BindTo(level); level.ValueChanged += ChangeLevel; levelList.LevelSelected = () => { var selectedLevel = levelList.LevelIndex > -1 ? levelList.Cards[levelList.LevelIndex].Level.Value : null; level.Value = selectedLevel; toolbar.Level.TriggerChange(); // F**k why is this necessary? toolbar.Edit = levelList.LevelIndex > -1 ? (Action)(() => this.Push(new EditorScreen(levelList.LevelIndex, selectedLevel))) : null; popUp.ConfirmAction = () => database.UserLevels.Remove(selectedLevel); }; levelList.CompletedLoading = () => loadWarning.Text = null; }
protected override void OnHoverLost(HoverLostEvent e) { hoverBox.FadeColour(GDEColors.FromHex("161616"), 500); base.OnHoverLost(e); }
protected override bool OnHover(HoverEvent e) { hoverBox.FadeColour(GDEColors.FromHex("1c1c1c"), 500); return(base.OnHover(e)); }
public EditorTools(LevelPreview level, Camera camera) { Children = new Drawable[] { panel = new ObjectAdditionPanel(camera) { Size = new Vector2(335, 557), Position = new Vector2(DrawWidth + 10, DrawHeight / 2) }, new Container { RelativeSizeAxes = Axes.Both, CornerRadius = 15, Masking = true, Children = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = GDEColors.FromHex("1f1f1f") } } }, new FillFlowContainer { Direction = FillDirection.Vertical, RelativeSizeAxes = Axes.Both, Colour = Color4.White, Padding = new MarginPadding(15), Children = new Drawable[] { addObject = new GDEButton { Action = panel.ToggleVisibility, Text = "Add Object", BackgroundColour = GDEColors.FromHex("2f2f2f"), RelativeSizeAxes = Axes.X }, deleteSelectedObjects = new GDEButton { Action = () => { //Always defaults to 0, so fix that foreach (var o in ObjectBase.DrawableSelectedObjects) { //Hide it for now o.Hide(); } ObjectBase.DrawableSelectedObjects.Clear(); editor?.DeselectAll(); }, Text = "Delete Selected Objects", BackgroundColour = GDEColors.FromHex("2f2f2f"), RelativeSizeAxes = Axes.X } } } }; AbleToPlaceBlock.BindTo(panel.AbleToPlace); }
public OverlayPopup() { Padding = new MarginPadding(10); Children = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = GDEColors.FromHex("191919") }, new FillFlowContainer { Direction = FillDirection.Vertical, RelativeSizeAxes = Axes.Both, Anchor = Anchor.TopCentre, Origin = Anchor.TopCentre, Padding = new MarginPadding { Top = 40 }, Children = new Drawable[] { header = new SpriteText { Anchor = Anchor.TopCentre, Origin = Anchor.TopCentre, Font = new FontUsage(size: 70) }, body = new SpriteText { Anchor = Anchor.TopCentre, Origin = Anchor.TopCentre, Font = new FontUsage(size: 40) } } }, button1 = new GDEButton { BackgroundColour = GDEColors.FromHex("1E1E1E"), Size = new Vector2(100, 50), Action = ToggleVisibility, Anchor = Anchor.BottomLeft, Origin = Anchor.BottomLeft, Margin = new MarginPadding(20) }, button2 = new GDEButton { BackgroundColour = GDEColors.FromHex("1E1E1E"), Size = new Vector2(100, 50), Action = () => ConfirmAction?.Invoke(), Anchor = Anchor.BottomRight, Origin = Anchor.BottomRight, Margin = new MarginPadding(20) } }; Rotation = -25; Alpha = 0; Scale = new Vector2(0.5f); }
public IDMigrationStepList(Editor e, IDMigrationMode mode) { InitializeActionDictionary(); editor = e; IDMigrationMode = mode; Anchor = Anchor.Centre; Origin = Anchor.Centre; Child = new FillFlowContainer { AlwaysPresent = true, RelativeSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, Children = new Drawable[] { searchQuery = new TextBox { Anchor = Anchor.TopLeft, Origin = Anchor.TopLeft, Height = 30, RelativeSizeAxes = Axes.X }, new Container { RelativeSizeAxes = Axes.Both, Margin = new MarginPadding { Top = 10 }, Padding = new MarginPadding { Bottom = 40 }, Children = new Drawable[] { new GDEScrollContainer { RelativeSizeAxes = Axes.Both, Child = stepList = new FadeSearchContainer { LayoutDuration = 100, LayoutEasing = Easing.Out, Spacing = new Vector2(0, 2), RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y } }, noSteps = new FillFlowContainer { Direction = FillDirection.Vertical, Anchor = Anchor.Centre, Origin = Anchor.Centre, Spacing = new Vector2(0, 30), Children = new Drawable[] { new SpriteIcon { Anchor = Anchor.Centre, Origin = Anchor.Centre, Icon = FontAwesome.Solid.Times, Size = new Vector2(64), Colour = GDEColors.FromHex("666666") }, new SpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, Text = "No migration steps are registered", Font = new FontUsage("OpenSans", 24), Colour = GDEColors.FromHex("666666") }, addNewStep = new GDEButton { Anchor = Anchor.Centre, Origin = Anchor.Centre, Width = 200, Text = "Add a new step", BackgroundColour = GDEColors.FromHex("242424") } }, Alpha = 0 } } } } }; UpdateCurrentTabRanges(); }