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/phase/WaitPhase.cs | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 code/phase/WaitPhase.cs (limited to 'code/phase/WaitPhase.cs') diff --git a/code/phase/WaitPhase.cs b/code/phase/WaitPhase.cs new file mode 100644 index 0000000..4f2e876 --- /dev/null +++ b/code/phase/WaitPhase.cs @@ -0,0 +1,43 @@ +using Sandbox; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MurderGame; + +public class WaitPhase : BasePhase +{ + public override string Title => "Waiting for players"; + public bool CountIn { get; set; } + public int TicksElapsed { get; set; } + + private bool _isCountDown { get; set; } + + public override void Tick() + { + if (Game.Clients.Count >= MurderGame.MinPlayers) + { + if (!CountIn || (_isCountDown && ++TicksElapsed % Game.TickRate == 0 && --base.TimeLeft == 0)) + { + base.NextPhase = new AssignPhase(); + base.IsFinished = true; + } + else if (CountIn && !_isCountDown) + { + _isCountDown = true; + base.TimeLeft = 10; + } + } else if (CountIn && _isCountDown) + { + _isCountDown = false; + base.TimeLeft = -1; + } + } + + public override void HandleClientJoin( ClientJoinedEvent e ) + { + + } +} -- cgit v1.2.3-70-g09d2