From 71db52c5443a7bf82d9a23a770994a42b043be04 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Thu, 27 Jul 2023 22:11:31 +0100 Subject: Initial commit --- code/ui/phase/PhaseInfo.razor | 23 ++++++++++++++++ code/ui/phase/PhaseTimer.razor | 61 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 code/ui/phase/PhaseInfo.razor create mode 100644 code/ui/phase/PhaseTimer.razor (limited to 'code/ui/phase') diff --git a/code/ui/phase/PhaseInfo.razor b/code/ui/phase/PhaseInfo.razor new file mode 100644 index 0000000..74bf237 --- /dev/null +++ b/code/ui/phase/PhaseInfo.razor @@ -0,0 +1,23 @@ +@using Sandbox; +@using Sandbox.UI; + +@namespace MurderGame +@inherits Panel +@attribute [StyleSheet] + +
+ @GetPhase().Title +
+ +@code +{ + public BasePhase GetPhase() + { + return MurderGame.Instance.CurrentPhase; + } + + protected override int BuildHash() + { + return GetPhase().GetHashCode(); + } +} diff --git a/code/ui/phase/PhaseTimer.razor b/code/ui/phase/PhaseTimer.razor new file mode 100644 index 0000000..1fb0baa --- /dev/null +++ b/code/ui/phase/PhaseTimer.razor @@ -0,0 +1,61 @@ +@using Sandbox; +@using System +@using Sandbox.UI; + +@namespace MurderGame +@inherits Panel + + + +@if (HasTime()) +{ +
+ @GetTime() +
+} else +{ +
+ @GetPhase() +
+} + +@code +{ + public bool HasTime() + { + return MurderGame.Instance.CurrentPhase.TimeLeft >= 0; + } + public string GetTime() + { + TimeSpan timeSpan = TimeSpan.FromSeconds(MurderGame.Instance.CurrentPhase.TimeLeft); + return timeSpan.ToString(@"mm\:ss"); + } + public string GetPhase() + { + return MurderGame.Instance.CurrentPhase.Title; + } + + protected override int BuildHash() + { + return HashCode.Combine(MurderGame.Instance.CurrentPhase.TimeLeft.GetHashCode(), MurderGame.Instance.CurrentPhase.Title.GetHashCode()); + } +} -- cgit v1.2.3-70-g09d2