mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-04-20 14:28:17 -04:00
80 lines
1.6 KiB
Plaintext
80 lines
1.6 KiB
Plaintext
@inherits Sandbox.UI.Panel
|
|
@using Sandbox;
|
|
@using Sandbox.UI;
|
|
@namespace Menu
|
|
|
|
@if (package == null)
|
|
return;
|
|
|
|
<root>
|
|
|
|
<div class="content">
|
|
|
|
<div class="header">
|
|
<div class="title">@package.Title</div>
|
|
</div>
|
|
|
|
|
|
<div class="meta">
|
|
|
|
<div class="head">
|
|
<img src="avatar:@(Lobby.OwnerId)" />
|
|
</div>
|
|
|
|
<div class="players">
|
|
<IconPanel>directions_run</IconPanel>
|
|
<label>@Lobby.Members</label>
|
|
<label class="smaller">/</label>
|
|
<label class="smaller">@Lobby.MaxMembers</label>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="title">@Lobby.Name</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@{
|
|
var bg = package.Thumb;
|
|
<div class="icon" style="background-image: url( @bg )"></div>
|
|
}
|
|
|
|
</root>
|
|
|
|
@code
|
|
{
|
|
[Parameter]
|
|
public Sandbox.Network.LobbyInformation Lobby { get; set; }
|
|
|
|
Package package;
|
|
|
|
override protected async Task OnParametersSetAsync()
|
|
{
|
|
package = await Package.Fetch(Lobby.Game, true);
|
|
StateHasChanged();
|
|
}
|
|
|
|
protected override void OnClick( MousePanelEvent e )
|
|
{
|
|
Networking.Connect(Lobby.LobbyId);
|
|
}
|
|
|
|
protected override void OnRightClick(MousePanelEvent e)
|
|
{
|
|
OpenContextMenu();
|
|
}
|
|
|
|
void OpenContextMenu()
|
|
{
|
|
var menu = MenuPanel.Open(this);
|
|
|
|
menu.AddOption("play_arrow", "Join Game", () => Networking.Connect(Lobby.LobbyId) );
|
|
|
|
menu.AddSpacer();
|
|
menu.AddOption("info", $"View Game Details", () => Game.Overlay.ShowGameModal(package.FullIdent));
|
|
menu.AddOption("corporate_fare", $"View Creator Details", () => Game.Overlay.ShowOrganizationModal(package.Org));
|
|
menu.AddOption("star", "Rate Game", () => Game.Overlay.ShowReviewModal(package));
|
|
}
|
|
}
|