diff options
author | Carson Katri <carson.katri@gmail.com> | 2021-06-12 23:28:54 -0400 |
---|---|---|
committer | Carson Katri <carson.katri@gmail.com> | 2021-06-12 23:28:54 -0400 |
commit | c500c71d07756d5f4bee8644fa6eb9a95e354b0e (patch) | |
tree | cfb712a881c58ac6046c6b43ed3aa73453a81783 /Assets/Scripts | |
parent | da7b51461ae4c6452095a42c5fe2f5b4af09da16 (diff) | |
download | gmtk-gamejam-c500c71d07756d5f4bee8644fa6eb9a95e354b0e.tar.gz gmtk-gamejam-c500c71d07756d5f4bee8644fa6eb9a95e354b0e.tar.zst gmtk-gamejam-c500c71d07756d5f4bee8644fa6eb9a95e354b0e.zip |
Add game-end results overlay
Diffstat (limited to 'Assets/Scripts')
-rw-r--r-- | Assets/Scripts/Controllers/GameController.cs | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/Assets/Scripts/Controllers/GameController.cs b/Assets/Scripts/Controllers/GameController.cs index 9fbe674..6ebcabe 100644 --- a/Assets/Scripts/Controllers/GameController.cs +++ b/Assets/Scripts/Controllers/GameController.cs @@ -23,6 +23,10 @@ namespace Controllers /// </summary> [SerializeField] public Ball ball; + [Header("Spawn Points")] + [SerializeField] private SpawnPoints PlayerSpawnPoints; + [SerializeField] private SpawnPoints EnemySpawnPoints; + [Header("Hoops")] [SerializeField] public Hoop PlayerHoop; [SerializeField] public Hoop EnemyHoop; @@ -34,6 +38,9 @@ namespace Controllers [SerializeField] private Text playerScoreText; [SerializeField] private Text enemyScoreText; [SerializeField] private Text timerText; + + [SerializeField] private GameObject resultOverlay; + [SerializeField] private Text resultText; private void Awake() { @@ -60,10 +67,18 @@ namespace Controllers playerScoreText.text = $"{player.score}"; enemyScoreText.text = $"{enemy.score}"; - var remaining = TimeSpan.FromSeconds(timeLimit - (Time.time - startTime)); + var remainingRaw = timeLimit - (Time.time - startTime); + var remaining = TimeSpan.FromSeconds(Mathf.Clamp(remainingRaw, 0, float.MaxValue)); timerText.text = $"{remaining.Minutes:00}:{remaining.Seconds:00}"; + + if (remainingRaw <= 0) + { + resultOverlay.SetActive(true); + var outcome = player.score == enemy.score ? "TIE GAME" : player.score < enemy.score ? "AWAY TEAM WINS" : "HOME TEAM WINS"; + resultText.text = $"{outcome}\n{player.score}-{enemy.score}"; + } } - + public struct Player { /// <summary> @@ -167,6 +182,13 @@ namespace Controllers EnemyDribble, EnemyShoot, } + + [Serializable] + private struct SpawnPoints + { + [SerializeField] internal Transform ball; + [SerializeField] internal Transform character; + } } internal static class GameControllerStateExtensions |