diff options
Diffstat (limited to 'code/ui/overlay')
| -rw-r--r-- | code/ui/overlay/BlindedOverlay.Network.cs | 20 | ||||
| -rw-r--r-- | code/ui/overlay/BlindedOverlay.razor | 65 | ||||
| -rw-r--r-- | code/ui/overlay/RoleOverlay.cs | 20 | ||||
| -rw-r--r-- | code/ui/overlay/RoleOverlay.razor | 94 |
4 files changed, 199 insertions, 0 deletions
diff --git a/code/ui/overlay/BlindedOverlay.Network.cs b/code/ui/overlay/BlindedOverlay.Network.cs new file mode 100644 index 0000000..c81751e --- /dev/null +++ b/code/ui/overlay/BlindedOverlay.Network.cs @@ -0,0 +1,20 @@ +using Sandbox;
+
+namespace MurderGame;
+
+public partial class BlindedOverlay
+{
+ [ClientRpc]
+ public static void Show( )
+ {
+ Instance.SetClass( "hidden", false );
+ Instance.ShowOverlay = true;
+ }
+
+ [ClientRpc]
+ public static void Hide()
+ {
+ Instance.SetClass( "hidden", true );
+ Instance.ShowOverlay = false;
+ }
+}
diff --git a/code/ui/overlay/BlindedOverlay.razor b/code/ui/overlay/BlindedOverlay.razor new file mode 100644 index 0000000..024c31a --- /dev/null +++ b/code/ui/overlay/BlindedOverlay.razor @@ -0,0 +1,65 @@ +@using Sandbox;
+@using Sandbox.UI;
+
+@namespace MurderGame
+@inherits Panel
+
+<style>
+ @@keyframes fadeIn
+ {
+ 0% { opacity: 0; }
+ 100% { opacity: 1; }
+ }
+ blindedoverlay
+ {
+ position: absolute;
+ left: 0;
+ top: 0;
+ background-color: rgba(0, 0, 0, 0.80);
+ width: 100vw;
+ height: 100vh;
+ backdrop-filter-blur: 16px;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ flex-direction: column;
+ gap: 100vh;
+ animation-name: fadeIn;
+ animation-duration: 1s;
+ animation-iteration-count: 1;
+ animation-timing-function: linear;
+ animation-fill-mode: forwards;
+ }
+ .overlay-message
+ {
+ margin: 20vh;
+ color: white;
+ font-size: 35px;
+ font-family: "Roboto";
+ font-weight: 700;
+ }
+</style>
+
+<div class="overlay-message">
+You shot a bystander!
+</div>
+
+@code
+{
+ public static BlindedOverlay Instance { get; private set; }
+
+ public bool ShowOverlay { get; set; } = false;
+
+ public BlindedOverlay()
+ {
+ SetClass( "hidden", true );
+
+ Instance = this;
+ }
+
+ protected override int BuildHash()
+ {
+ return ShowOverlay.GetHashCode();
+ }
+
+}
\ No newline at end of file diff --git a/code/ui/overlay/RoleOverlay.cs b/code/ui/overlay/RoleOverlay.cs new file mode 100644 index 0000000..84758b7 --- /dev/null +++ b/code/ui/overlay/RoleOverlay.cs @@ -0,0 +1,20 @@ +using Sandbox;
+
+namespace MurderGame;
+
+public partial class RoleOverlay
+{
+ [ClientRpc]
+ public static void Show( )
+ {
+ Instance.SetClass( "hidden", false );
+ Instance.ShowOverlay = true;
+ }
+
+ [ClientRpc]
+ public static void Hide()
+ {
+ Instance.SetClass( "hidden", true );
+ Instance.ShowOverlay = false;
+ }
+}
diff --git a/code/ui/overlay/RoleOverlay.razor b/code/ui/overlay/RoleOverlay.razor new file mode 100644 index 0000000..c41e359 --- /dev/null +++ b/code/ui/overlay/RoleOverlay.razor @@ -0,0 +1,94 @@ +
+@using Sandbox;
+@using Sandbox.UI;
+
+@namespace MurderGame
+@inherits Panel
+
+<style>
+ roleoverlay
+ {
+ position: absolute;
+ left: 0;
+ top: 0;
+ background-color: #000000;
+ width: 100vw;
+ height: 100vh;
+ z-index: 10000;
+ }
+ .container {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ max-width: 700px;
+ text-align: center;
+ gap: 50px;
+ margin: 0 auto;
+ top: 200px;
+ }
+ .name
+ {
+ font-size: 50;
+ font-weight: 700;
+ font-family: "Roboto";
+ }
+ .description
+ {
+ font-size: 30;
+ font-family: "Roboto";
+ }
+</style>
+
+<div class="container">
+ <div class="name" style="color: @(GetTeamColour())">
+ @GetTeamName()
+ </div>
+ <div class="description" style="color: @(GetTeamColour())">
+ @GetTeamDescription()
+ </div>
+</div>
+
+@code
+{
+ public string GetTeamName()
+ {
+ if (Game.LocalPawn is Player player)
+ {
+ return TeamOperations.GetTeamName(player.CurrentTeam);
+ }
+ return "";
+ }
+ public string GetTeamDescription()
+ {
+ if (Game.LocalPawn is Player player)
+ {
+ return TeamOperations.GetTeamDescription(player.CurrentTeam);
+ }
+ return "";
+ }
+ public string GetTeamColour()
+ {
+ if (Game.LocalPawn is Player player)
+ {
+ return TeamOperations.GetTeamColour(player.CurrentTeam);
+ }
+ return "";
+ }
+
+ public static RoleOverlay Instance { get; private set; }
+
+ public bool ShowOverlay { get; set; } = false;
+
+ public RoleOverlay()
+ {
+ SetClass( "hidden", true );
+
+ Instance = this;
+ }
+
+ protected override int BuildHash()
+ {
+ return ShowOverlay.GetHashCode();
+ }
+
+}
|
