aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Assets/Scripts
diff options
context:
space:
mode:
authorCarson Katri <carson.katri@gmail.com>2021-06-12 23:28:54 -0400
committerCarson Katri <carson.katri@gmail.com>2021-06-12 23:28:54 -0400
commitc500c71d07756d5f4bee8644fa6eb9a95e354b0e (patch)
treecfb712a881c58ac6046c6b43ed3aa73453a81783 /Assets/Scripts
parentda7b51461ae4c6452095a42c5fe2f5b4af09da16 (diff)
downloadgmtk-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.cs26
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