private void load(TextureStore textures) { game.Parse(store, textures, room.Value.Game); dependencies.Cache(room.Value.Players.Single(p => p?.BackingUser?.ID == api.LocalUser.Value.ID)); RelativeSizeAxes = Axes.Both; InternalChildren = new Drawable[] { roomUpdater, new Box { RelativeSizeAxes = Axes.Both, Colour = new Colour4(106, 100, 104, 255) }, new GridContainer { RelativeSizeAxes = Axes.Both, RowDimensions = new[] { new Dimension(GridSizeMode.Relative, .1f), new Dimension(), }, ColumnDimensions = new[] { new Dimension(), }, Content = new[] { new Drawable[] { new Container { RelativeSizeAxes = Axes.Both, Children = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = new Colour4(60, 60, 60, 255) }, new Container { Anchor = Anchor.TopLeft, Origin = Anchor.TopLeft, RelativeSizeAxes = Axes.Both, Width = .2f, Children = new Drawable[] { new SimpleIconButton(FontAwesome.Solid.SignOutAlt) { Anchor = Anchor.Centre, Origin = Anchor.Centre, Action = exitRoom, }, } }, new Container { Anchor = Anchor.TopRight, Origin = Anchor.TopRight, RelativeSizeAxes = Axes.Both, Width = .2f, Children = new Drawable[] { new SimpleIconButton(FontAwesome.Solid.Envelope) { Anchor = Anchor.Centre, Origin = Anchor.Centre, Action = inviteOverlay.Show, }, } }, }, }, }, new Drawable[] { new Container { RelativeSizeAxes = Axes.Both, Child = new FillFlowContainer { RelativeSizeAxes = Axes.Both, Direction = FillDirection.Vertical, Padding = new MarginPadding(50), Children = new Drawable[] { new Container { RelativeSizeAxes = Axes.X, Height = 1000, Child = new FillFlowContainer { RelativeSizeAxes = Axes.Both, Direction = FillDirection.Vertical, Children = new Drawable[] { new SpriteText { Text = @"Jugadores:", Font = new FontUsage(size: 80) }, new BasicScrollContainer { RelativeSizeAxes = Axes.X, Height = 1000, ClampExtension = 30, Masking = true, Child = usersInRoom = new FillFlowContainer { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, Direction = FillDirection.Full, Spacing = new Vector2(0, 20), }, }, }, }, }, new Container { RelativeSizeAxes = Axes.Both, Height = .15f, Child = continueButton = new SurfaceButton { Action = playGame, BackgroundColour = Colour4.LightPink, Children = new Drawable[] { textButton = new SpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, Font = new FontUsage(size: 80), Colour = new Colour4(106, 100, 104, 255) }, }, }, }, }, }, }, }, }, }, inviteOverlay, gameStack = new ScreenStack { RelativeSizeAxes = Axes.Both, }, }; Schedule(() => LoadComponentAsync(new GameScreen(), gameStack.Push)); if (api.LocalUser.Value.ID == room.Value.Owner.BackingUser.ID) { textButton.Text = "Jugar!"; } else { textButton.Text = "Listo!"; } for (int i = 0; i < room.Value.Game.Maxplayers; i++) { usersInRoom.Add(new PlayerInfoContainer(i)); } gameStack.Hide(); }