private void load()
        {
            Add(bottomBox = new Box
            {
                Colour           = Colour4.Black,
                RelativeSizeAxes = Axes.Both,
            });
            Add(bottomOverlay = new SplashInfoOverlay(SplashPosition.Bottom, 80, 30));
            Add(topOverlay    = new SplashInfoOverlay(SplashPosition.Top, 150, 60));

            AddStep("Show short", shortText);
            AddUntilStep("Wait for hide and no transforms", allHiddenAndNoTransforms);
            AddStep("Show long", longText);
        }
Exemple #2
0
        private void load()
        {
            Resources.AddStore(new DllResourceStore(@"GamesToGo.Game.dll"));
            Textures.AddStore(Host.CreateTextureLoaderStore(new OnlineStore()));
            Textures.AddStore(Host.CreateTextureLoaderStore(new StorageBackedResourceStore(store)));
            dependencies.CacheAs(this);
            base.Content.Add(content = new DrawSizePreservingFillContainer
            {
                TargetDrawSize = new Vector2(1080, 1920),
                Strategy       = DrawSizePreservationStrategy.Minimum,
            });
            content.Add(stack = new ScreenStack
            {
                RelativeSizeAxes = Axes.Both,
                Depth            = 0,
            });
            content.Add(api = new APIController());
            dependencies.Cache(api);
            dependencies.Cache(stack);
            content.Add(infoOverlay = new SplashInfoOverlay(SplashPosition.Top, 150, 60)
            {
                Depth = -1
            });
            dependencies.Cache(infoOverlay);

            Invitations.BindCollectionChanged((_, e) =>
            {
                switch (e.Action)
                {
                case NotifyCollectionChangedAction.Add:
                    infoOverlay.Show(@$ "{e.NewItems.Cast<Invitation>().Last().Sender.Username} te ha invitado a jugar", Colour4.LightBlue);

                    break;

                case NotifyCollectionChangedAction.Remove:
                    break;
                }
            });
        }
Exemple #3
0
        private void load(FrameworkConfigManager config, Storage store) //Esta es la manera en la que se acceden a elementos de las dependencias, su tipo y un nombre local.
        {
            Host.Window.Title = Name;
            Resources.AddStore(new DllResourceStore(@"GamesToGo.Editor.dll"));
            Textures.AddStore(Host.CreateTextureLoaderStore(new OnlineStore()));
            Textures.AddStore(Host.CreateTextureLoaderStore(new StorageBackedResourceStore(store)));
            Textures.AddExtension("");
            dependencies.CacheAs(dbContext = new Context(Host.Storage.GetDatabaseConnectionString(Name)));

            previewEvents();
            previewActions();
            previewArguments();

            try
            {
                dbContext.Database.Migrate();
            }
            catch
            {
                Host.Storage.DeleteDatabase(Name);

                try
                {
                    dbContext.Database.Migrate();
                }
                catch
                {
                    //Can't get a database going, bail!
                    Exit();
                }

                store.DeleteDirectory("files");
            }
            finally
            {
                foreach (var _ in dbContext.Projects)
                {
                }
                foreach (var _ in dbContext.Files)
                {
                }
                foreach (var _ in dbContext.Relations)
                {
                }
            }

            //Ventana sin bordes, sin requerir modo exclusivo.
            config.GetBindable <WindowMode>(FrameworkSetting.WindowMode).Value             = WindowMode.Borderless;
            config.GetBindable <FrameSync>(FrameworkSetting.FrameSync).Value               = FrameSync.VSync;
            config.GetBindable <ConfineMouseMode>(FrameworkSetting.ConfineMouseMode).Value = ConfineMouseMode.Never;

            //Para agregar un elemento a las dependencias se agrega a su caché. En este caso se agrega el "juego" como un GamesToGoEditor
            dependencies.CacheAs(this);

            base.Content.Add(content = new DrawSizePreservingFillContainer {
                TargetDrawSize = new Vector2(1920, 1080)
            });

            //Cargamos y agregamos nuestra pila de pantallas a la ventana.
            content.Add(stack = new ScreenStack {
                RelativeSizeAxes = Axes.Both, Depth = 0
            });

            content.Add(api = new APIController());

            dependencies.Cache(api);

            content.Add(splashOverlay = new SplashInfoOverlay(SplashPosition.Bottom, 80, 30)
            {
                Depth = -2
            });

            dependencies.Cache(splashOverlay);

            content.Add(imageFinder = new ImageFinderOverlay {
                Depth = -1
            });

            dependencies.Cache(imageFinder);

            content.Add(optionsOverlay = new MultipleOptionOverlay {
                Depth = -3
            });

            dependencies.Cache(optionsOverlay);
        }
Exemple #4
0
        private void load(SplashInfoOverlay infoOverlay)
        {
            RelativePositionAxes = Axes.X;
            InternalChildren     = new Drawable[]
            {
                new Box
                {
                    RelativeSizeAxes = Axes.Both,
                    Colour           = new Colour4(106, 100, 104, 255), //Color fondo general
                },
                new GridContainer
                {
                    RelativeSizeAxes = Axes.Both,
                    ColumnDimensions = new[]
                    {
                        new Dimension(GridSizeMode.Relative, 0.25f),
                        new Dimension(),
                    },
                    Content = new []
                    {
                        new Drawable[]
                        {
                            userInformation = new Container
                            {
                                RelativeSizeAxes     = Axes.Both,
                                RelativePositionAxes = Axes.Both,
                                Children             = new Drawable[]
                                {
                                    new Box
                                    {
                                        RelativeSizeAxes = Axes.Both,
                                        Colour           = new Colour4(145, 144, 144, 255), //Color userInformation
                                    },
                                    new UserImageChangerButton
                                    {
                                        Position   = new Vector2(0, 125),
                                        Anchor     = Anchor.TopCentre,
                                        Origin     = Anchor.TopCentre,
                                        ButtonSize = new Vector2(250),
                                    },
                                    new SpriteText
                                    {
                                        Text     = api.LocalUser.Value.Username,
                                        Anchor   = Anchor.TopCentre,
                                        Origin   = Anchor.TopCentre,
                                        Position = new Vector2(0, 450),
                                    },
                                    new GamesToGoButton
                                    {
                                        Text             = @"Perfil",
                                        BackgroundColour = new Colour4(106, 100, 104, 255),  //Color Boton userInformation
                                        BorderColour     = Colour4.Black,
                                        BorderThickness  = 2f,
                                        RelativeSizeAxes = Axes.X,
                                        Masking          = true,
                                        Height           = 40,
                                        Anchor           = Anchor.TopCentre,
                                        Origin           = Anchor.TopCentre,
                                        Position         = new Vector2(0, 600),
                                        Action           = showProfile,
                                    },
                                    new GamesToGoButton
                                    {
                                        Text             = @"Cerrar Sesión",
                                        BackgroundColour = new Colour4(106, 100, 104, 255),   //Color Boton userInformation
                                        BorderColour     = Colour4.Black,
                                        BorderThickness  = 2f,
                                        RelativeSizeAxes = Axes.X,
                                        Masking          = true,
                                        Height           = 40,
                                        Anchor           = Anchor.TopCentre,
                                        Origin           = Anchor.TopCentre,
                                        Position         = new Vector2(0, 700),
                                        Action           = logout,
                                    },
                                },
                            },
                            new GridContainer
                            {
                                RelativeSizeAxes = Axes.Both,
                                RowDimensions    = new[]
                                {
                                    new Dimension(),
                                    new Dimension(GridSizeMode.AutoSize),
                                },
                                Content = new []
                                {
                                    new Drawable[]
                                    {
                                        new BasicScrollContainer
                                        {
                                            Anchor         = Anchor.TopCentre,
                                            Origin         = Anchor.TopCentre,
                                            ClampExtension = 10,
                                            Padding        = new MarginPadding {
                                                Top = 200, Horizontal = 150
                                            },
                                            RelativeSizeAxes = Axes.Both,
                                            Child            = new FillFlowContainer
                                            {
                                                Anchor           = Anchor.TopCentre,
                                                Origin           = Anchor.TopCentre,
                                                Spacing          = Vector2.Zero,
                                                RelativeSizeAxes = Axes.X,
                                                AutoSizeAxes     = Axes.Y,
                                                Direction        = FillDirection.Vertical,
                                                Children         = new Drawable[]
                                                {
                                                    projectsList = new FillFlowContainer <LocalProjectSummaryContainer>
                                                    {
                                                        BorderColour     = Colour4.Black,
                                                        BorderThickness  = 3f,
                                                        Masking          = true,
                                                        Anchor           = Anchor.TopCentre,
                                                        Origin           = Anchor.TopCentre,
                                                        Spacing          = Vector2.Zero,
                                                        RelativeSizeAxes = Axes.X,
                                                        AutoSizeAxes     = Axes.Y,
                                                        Direction        = FillDirection.Vertical,
                                                    },
                                                    onlineProjectsList = new FillFlowContainer <OnlineProjectSummaryContainer>
                                                    {
                                                        BorderColour     = Colour4.Black,
                                                        BorderThickness  = 3f,
                                                        Masking          = true,
                                                        Anchor           = Anchor.TopCentre,
                                                        Origin           = Anchor.TopCentre,
                                                        Spacing          = Vector2.Zero,
                                                        RelativeSizeAxes = Axes.X,
                                                        AutoSizeAxes     = Axes.Y,
                                                        Direction        = FillDirection.Vertical,
                                                    },
                                                },
                                            },
                                        },
                                    },
                                    new Drawable[]
                                    {
                                        new GamesToGoButton
                                        {
                                            Text             = @"Crear Nuevo Proyecto",
                                            BackgroundColour = new Colour4(145, 144, 144, 255),
                                            BorderColour     = Colour4.Black,
                                            BorderThickness  = 2f,
                                            RelativeSizeAxes = Axes.X,
                                            Masking          = true,
                                            Height           = 100,
                                            Anchor           = Anchor.BottomCentre,
                                            Origin           = Anchor.BottomCentre,
                                            Action           = createProject,
                                        },
                                    },
                                },
                            },
                        },
                    },
                },
            };

            populateProjectList();
        }
Exemple #5
0
        private void load(TextureStore textures, APIController api, ImageFinderOverlay imageFinder, SplashInfoOverlay infoOverlay)
        {
            AutoSizeAxes = Axes.Both;
            Child        = new CircularContainer
            {
                BorderColour    = Colour4.Black,
                BorderThickness = 3.5f,
                Masking         = true,
                Size            = ButtonSize,
                Children        = new Drawable[]
                {
                    image = new Sprite
                    {
                        RelativeSizeAxes = Axes.Both,
                        Texture          = textures.Get($"https://gamestogo.company/api/Users/DownloadImage/{api.LocalUser.Value.ID}"),
                    },
                    hoverContainer = new Container
                    {
                        RelativeSizeAxes = Axes.Both,
                        Alpha            = 0,
                        Children         = new Drawable[]
                        {
                            new Box
                            {
                                RelativeSizeAxes = Axes.Both,
                                Colour           = Colour4.Black.Opacity(0.5f),
                            },
                            new SpriteIcon
                            {
                                Anchor = Anchor.Centre,
                                Origin = Anchor.BottomCentre,
                                Icon   = FontAwesome.Regular.Images,
                                Size   = new Vector2(60),
                            },
                            new SpriteText
                            {
                                Anchor = Anchor.Centre,
                                Origin = Anchor.TopCentre,
                                Font   = new FontUsage(size: 40),
                                Text   = @"Cambiar imagen",
                            },
                        },
                    },
                },
            };

            Action = () => imageFinder.Show(i =>
            {
                var req      = new UploadUserImageRequest(i);
                req.Success += () => image.Texture = Texture.FromStream(new MemoryStream(i));
                req.Failure += e => infoOverlay.Show(@"Falló como siempre", Colour4.DarkRed);
                api.Queue(req);
            });
        }