-
Notifications
You must be signed in to change notification settings - Fork 147
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'Simple-Station:master' into Sign-Language
- Loading branch information
Showing
108 changed files
with
9,595 additions
and
173 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<Control xmlns="https://spacestation14.io" | ||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
xmlns:parallax="clr-namespace:Content.Client.Parallax" | ||
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"> | ||
<parallax:ParallaxControl /> | ||
<Control HorizontalAlignment="Center" VerticalAlignment="Center"> | ||
<PanelContainer StyleClasses="AngleRect" /> | ||
<BoxContainer Orientation="Vertical"> | ||
<BoxContainer Orientation="Horizontal"> | ||
<Label Margin="8 0 0 0" Text="{Loc 'discord-auth-title'}" | ||
StyleClasses="LabelHeading" VAlign="Center" /> | ||
<Button Name="QuitButton" Text="{Loc 'discord-auth-quit-btn'}" | ||
HorizontalAlignment="Right" HorizontalExpand="True" /> | ||
</BoxContainer> | ||
<controls:HighDivider /> | ||
<BoxContainer Orientation="Vertical" Margin="50 20 50 20"> | ||
<Label Text="{Loc 'discord-auth-info'}" Align="Center" /> | ||
<Label Text="{Loc 'discord-auth-warn'}" Margin="0 5 0 0" Align="Center" StyleClasses="LabelSubText" /> | ||
</BoxContainer> | ||
<BoxContainer Orientation="Horizontal" VerticalAlignment="Bottom" Margin="10 0 0 0"> | ||
<Label Text="{Loc 'discord-auth-link'}" Align="Center" /> | ||
<Label Text=" " /> | ||
<LineEdit Name="UrlEdit" HorizontalExpand="True" Editable="False"></LineEdit> | ||
</BoxContainer> | ||
<Button Name="OpenUrlButton" Text="{Loc 'discord-auth-browser-btn'}" HorizontalExpand="True" StyleClasses="OpenRight" /> | ||
</BoxContainer> | ||
</Control> | ||
</Control> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
using Robust.Client.AutoGenerated; | ||
using Robust.Client.Console; | ||
using Robust.Client.UserInterface; | ||
using Robust.Client.UserInterface.Controls; | ||
using Robust.Client.UserInterface.XAML; | ||
|
||
namespace Content.Client.DiscordAuth; | ||
|
||
[GenerateTypedNameReferences] | ||
public sealed partial class DiscordAuthGui : Control | ||
{ | ||
[Dependency] private readonly DiscordAuthManager _discordAuth = default!; | ||
[Dependency] private readonly IClientConsoleHost _consoleHost = default!; | ||
|
||
|
||
public DiscordAuthGui() | ||
{ | ||
RobustXamlLoader.Load(this); | ||
IoCManager.InjectDependencies(this); | ||
LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide); | ||
|
||
QuitButton.OnPressed += (_) => | ||
{ | ||
_consoleHost.ExecuteCommand("quit"); | ||
}; | ||
|
||
UrlEdit.Text = _discordAuth.AuthUrl; | ||
OpenUrlButton.OnPressed += (_) => | ||
{ | ||
if (_discordAuth.AuthUrl != string.Empty) | ||
{ | ||
IoCManager.Resolve<IUriOpener>().OpenUri(_discordAuth.AuthUrl); | ||
} | ||
}; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
using Content.Shared.DiscordAuth; | ||
using Robust.Client.State; | ||
using Robust.Shared.Network; | ||
|
||
namespace Content.Client.DiscordAuth; | ||
|
||
public sealed class DiscordAuthManager | ||
{ | ||
[Dependency] private readonly IClientNetManager _net = default!; | ||
[Dependency] private readonly IStateManager _state = default!; | ||
|
||
|
||
public string AuthUrl { get; private set; } = string.Empty; | ||
|
||
|
||
public void Initialize() | ||
{ | ||
_net.RegisterNetMessage<DiscordAuthCheckMessage>(); | ||
_net.RegisterNetMessage<DiscordAuthRequiredMessage>(OnDiscordAuthRequired); | ||
} | ||
|
||
|
||
private void OnDiscordAuthRequired(DiscordAuthRequiredMessage message) | ||
{ | ||
if (_state.CurrentState is not DiscordAuthState) | ||
{ | ||
AuthUrl = message.AuthUrl; | ||
_state.RequestStateChange<DiscordAuthState>(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
using System.Threading; | ||
using Content.Shared.DiscordAuth; | ||
using Robust.Client.State; | ||
using Robust.Client.UserInterface; | ||
using Robust.Shared.Network; | ||
using Timer = Robust.Shared.Timing.Timer; | ||
|
||
namespace Content.Client.DiscordAuth; | ||
|
||
public sealed class DiscordAuthState : State | ||
{ | ||
[Dependency] private readonly IUserInterfaceManager _userInterface = default!; | ||
[Dependency] private readonly IClientNetManager _net = default!; | ||
|
||
|
||
private DiscordAuthGui? _gui; | ||
private readonly CancellationTokenSource _checkTimerCancel = new(); | ||
|
||
|
||
protected override void Startup() | ||
{ | ||
_gui = new DiscordAuthGui(); | ||
_userInterface.StateRoot.AddChild(_gui); | ||
|
||
Timer.SpawnRepeating(TimeSpan.FromSeconds(5), () => | ||
{ | ||
_net.ClientSendMessage(new DiscordAuthCheckMessage()); | ||
}, _checkTimerCancel.Token); | ||
} | ||
|
||
protected override void Shutdown() | ||
{ | ||
_checkTimerCancel.Cancel(); | ||
_gui!.Dispose(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
using Content.Shared.JoinQueue; | ||
using Robust.Client.State; | ||
using Robust.Shared.Network; | ||
|
||
namespace Content.Client.JoinQueue; | ||
|
||
public sealed class JoinQueueManager | ||
{ | ||
[Dependency] private readonly IClientNetManager _net = default!; | ||
[Dependency] private readonly IStateManager _state = default!; | ||
|
||
|
||
public void Initialize() | ||
{ | ||
_net.RegisterNetMessage<QueueUpdateMessage>(OnQueueUpdate); | ||
} | ||
|
||
|
||
private void OnQueueUpdate(QueueUpdateMessage msg) | ||
{ | ||
if (_state.CurrentState is not QueueState) | ||
_state.RequestStateChange<QueueState>(); | ||
|
||
((QueueState) _state.CurrentState).OnQueueUpdate(msg); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<Control xmlns="https://spacestation14.io" | ||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client" | ||
xmlns:parallax="clr-namespace:Content.Client.Parallax" | ||
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"> | ||
<parallax:ParallaxControl /> | ||
<Control HorizontalAlignment="Center" VerticalAlignment="Center"> | ||
<PanelContainer StyleClasses="AngleRect" /> | ||
<BoxContainer Orientation="Vertical" MinSize="200 200"> | ||
<BoxContainer Orientation="Horizontal"> | ||
<Label Margin="8 0 0 0" Text="{Loc 'queue-title'}" | ||
StyleClasses="LabelHeading" VAlign="Center" /> | ||
<Button Name="QuitButton" Text="{Loc 'queue-quit'}" | ||
HorizontalAlignment="Right" HorizontalExpand="True" /> | ||
</BoxContainer> | ||
<controls:HighDivider /> | ||
<BoxContainer Orientation="Vertical" VerticalExpand="True" Margin="0 20 0 0"> | ||
<BoxContainer Orientation="Vertical"> | ||
<BoxContainer Orientation="Vertical" VerticalExpand="True"> | ||
<Label Text="{Loc 'queue-position'}" Align="Center" /> | ||
<Label Name="QueuePosition" StyleClasses="LabelHeading" Align="Center" /> | ||
</BoxContainer> | ||
<BoxContainer Orientation="Vertical" VerticalExpand="True" Margin="0 10 0 0"> | ||
<Label Text="{Loc 'queue-total'}" Align="Center" /> | ||
<Label Name="QueueTotal" StyleClasses="LabelHeading" Align="Center" /> | ||
</BoxContainer> | ||
</BoxContainer> | ||
</BoxContainer> | ||
</BoxContainer> | ||
</Control> | ||
</Control> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
using Robust.Client.AutoGenerated; | ||
using Robust.Client.UserInterface; | ||
using Robust.Client.UserInterface.Controls; | ||
using Robust.Client.UserInterface.XAML; | ||
|
||
namespace Content.Client.JoinQueue; | ||
|
||
[GenerateTypedNameReferences] | ||
public sealed partial class QueueGui : Control | ||
{ | ||
public event Action? QuitPressed; | ||
|
||
|
||
public QueueGui() | ||
{ | ||
RobustXamlLoader.Load(this); | ||
IoCManager.InjectDependencies(this); | ||
LayoutContainer.SetAnchorPreset(this, LayoutContainer.LayoutPreset.Wide); | ||
|
||
QuitButton.OnPressed += (_) => QuitPressed?.Invoke(); | ||
} | ||
|
||
|
||
public void UpdateInfo(int total, int position) | ||
{ | ||
QueueTotal.Text = total.ToString(); | ||
QueuePosition.Text = position.ToString(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
using Content.Shared.JoinQueue; | ||
using Robust.Client.Audio; | ||
using Robust.Client.Console; | ||
using Robust.Client.State; | ||
using Robust.Client.UserInterface; | ||
using Robust.Shared.Player; | ||
|
||
namespace Content.Client.JoinQueue; | ||
|
||
public sealed class QueueState : State | ||
{ | ||
[Dependency] private readonly IUserInterfaceManager _userInterface = default!; | ||
[Dependency] private readonly IClientConsoleHost _console = default!; | ||
|
||
|
||
private const string JoinSoundPath = "/Audio/Effects/newplayerping.ogg"; | ||
|
||
private QueueGui? _gui; | ||
|
||
|
||
protected override void Startup() | ||
{ | ||
_gui = new QueueGui(); | ||
_userInterface.StateRoot.AddChild(_gui); | ||
|
||
_gui.QuitPressed += OnQuitPressed; | ||
} | ||
|
||
protected override void Shutdown() | ||
{ | ||
_gui!.QuitPressed -= OnQuitPressed; | ||
_gui.Dispose(); | ||
|
||
Ding(); | ||
} | ||
|
||
|
||
public void OnQueueUpdate(QueueUpdateMessage msg) | ||
{ | ||
_gui?.UpdateInfo(msg.Total, msg.Position); | ||
} | ||
|
||
private void OnQuitPressed() | ||
{ | ||
_console.ExecuteCommand("quit"); | ||
} | ||
|
||
|
||
private void Ding() | ||
{ | ||
if (IoCManager.Resolve<IEntityManager>().TrySystem<AudioSystem>(out var audio)) | ||
audio.PlayGlobal(JoinSoundPath, Filter.Local(), false); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.