aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Assets/Scripts/Controllers/GameController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Controllers/GameController.cs')
-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