コード例 #1
0
 private void load()
 {
     InternalChildren = new Drawable[]
     {
         new GridContainer
         {
             RelativeSizeAxes = Axes.Both,
             Content          = new[]
             {
                 new Drawable[]
                 {
                     new Container
                     {
                         RelativeSizeAxes = Axes.Both,
                         Padding          = new MarginPadding
                         {
                             Horizontal = 105,
                             Vertical   = 20
                         },
                         Child = new GridContainer
                         {
                             RelativeSizeAxes = Axes.Both,
                             RowDimensions    = new[]
                             {
                                 new Dimension(GridSizeMode.AutoSize),
                                 new Dimension(GridSizeMode.AutoSize),
                                 new Dimension(GridSizeMode.AutoSize),
                                 new Dimension(),
                             },
                             Content = new[]
                             {
                                 new Drawable[] { new Components.Header() },
                                 new Drawable[]
                                 {
                                     participantsHeader = new OverlinedHeader("Participants")
                                     {
                                         ShowLine = false
                                     }
                                 },
                                 new Drawable[]
                                 {
                                     new Container
                                     {
                                         RelativeSizeAxes = Axes.X,
                                         AutoSizeAxes     = Axes.Y,
                                         Margin           = new MarginPadding {
                                             Top = 5
                                         },
                                         Child = new ParticipantsDisplay(Direction.Horizontal)
                                         {
                                             Details = { BindTarget = participantsHeader.Details }
                                         }
                                     }
                                 },
                                 new Drawable[]
                                 {
                                     new GridContainer
                                     {
                                         RelativeSizeAxes = Axes.Both,
                                         Content          = new[]
                                         {
                                             new Drawable[]
                                             {
                                                 new Container
                                                 {
                                                     RelativeSizeAxes = Axes.Both,
                                                     Padding          = new MarginPadding {
                                                         Right = 5
                                                     },
                                                     Child = new GridContainer
                                                     {
                                                         RelativeSizeAxes = Axes.Both,
                                                         Content          = new[]
                                                         {
                                                             new Drawable[] { new OverlinedHeader("Playlist"), },
                                                             new Drawable[]
                                                             {
                                                                 new DrawableRoomPlaylistWithResults
                                                                 {
                                                                     RelativeSizeAxes   = Axes.Both,
                                                                     Items              = { BindTarget = playlist },
                                                                     SelectedItem       = { BindTarget = SelectedItem },
                                                                     RequestShowResults = item =>
                                                                     {
                                                                         Debug.Assert(roomId.Value != null);
                                                                         multiplayer?.Push(new TimeshiftResultsScreen(null, roomId.Value.Value, item, false));
                                                                     }
                                                                 }
                                                             },
                                                         },
                                                         RowDimensions = new[]
                                                         {
                                                             new Dimension(GridSizeMode.AutoSize),
                                                             new Dimension(),
                                                         }
                                                     }
                                                 },
                                                 null,
                                                 new GridContainer
                                                 {
                                                     RelativeSizeAxes = Axes.Both,
                                                     Content          = new[]
                                                     {
                                                         new Drawable[] { new OverlinedHeader("Leaderboard"), },
                                                         new Drawable[] { leaderboard = new MatchLeaderboard {
                                                                              RelativeSizeAxes = Axes.Both
                                                                          }, },
                                                         new Drawable[] { new OverlinedHeader("Chat"), },
                                                         new Drawable[] { new MatchChatDisplay {
                                                                              RelativeSizeAxes = Axes.Both
                                                                          } }
                                                     },
                                                     RowDimensions = new[]
                                                     {
                                                         new Dimension(GridSizeMode.AutoSize),
                                                         new Dimension(),
                                                         new Dimension(GridSizeMode.AutoSize),
                                                         new Dimension(GridSizeMode.Relative, size: 0.4f, minSize: 120),
                                                     }
                                                 },
                                                 null
                                             },
                                         },
                                         ColumnDimensions = new[]
                                         {
                                             new Dimension(GridSizeMode.Relative, size: 0.5f, maxSize: 400),
                                             new Dimension(),
                                             new Dimension(GridSizeMode.Relative, size: 0.5f, maxSize: 600),
                                             new Dimension(),
                                         }
                                     }
                                 }
                             },
                         }
                     }
                 },
                 new Drawable[]
                 {
                     new Footer
                     {
                         OnStart      = onStart,
                         SelectedItem = { BindTarget = SelectedItem }
                     }
                 }
             },
             RowDimensions = new[]
             {
                 new Dimension(),
                 new Dimension(GridSizeMode.AutoSize),
             }
         },
         settingsOverlay = new MatchSettingsOverlay
         {
             RelativeSizeAxes = Axes.Both,
             EditPlaylist     = () => this.Push(new MatchSongSelect()),
             State            = { Value = roomId.Value == null ? Visibility.Visible : Visibility.Hidden }
         }
     };
 }