From edd2dd8511114ef0c8ec8e9b530ad76aa97717a3 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Mon, 5 Feb 2024 12:44:29 +0300 Subject: [PATCH] fix: Network Problems on Ball Synchronization --- Game/Behaviours/PongManagerBehaviour.cs | 6 +++++- Game/Behaviours/TextScoreBehaviour.cs | 4 +--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Game/Behaviours/PongManagerBehaviour.cs b/Game/Behaviours/PongManagerBehaviour.cs index 2aeb03e..a9ed86a 100644 --- a/Game/Behaviours/PongManagerBehaviour.cs +++ b/Game/Behaviours/PongManagerBehaviour.cs @@ -14,6 +14,7 @@ public class PongManagerBehaviour : BehaviourOverride { public Action? OnReset { get; set; } = null; public Action? OnFinished { get; set; } = null; + public Action? OnScoresUpdated { get; set; } = null; public Action? OnScored { get; set; } = null; private INetworkCommunicator communicator = null!; @@ -47,7 +48,7 @@ public class PongManagerBehaviour : BehaviourOverride { ScoreLeft = reader.GetInt(); ScoreRight = reader.GetInt(); - OnScored?.Invoke(this); + OnScoresUpdated?.Invoke(this); CheckFinish(); } @@ -55,6 +56,7 @@ public class PongManagerBehaviour : BehaviourOverride public void ScoreToLeft() { ScoreLeft++; + OnScoresUpdated?.Invoke(this); OnScored?.Invoke(this); SendData(); @@ -65,6 +67,7 @@ public class PongManagerBehaviour : BehaviourOverride public void ScoreToRight() { ScoreRight++; + OnScoresUpdated?.Invoke(this); OnScored?.Invoke(this); SendData(); @@ -75,6 +78,7 @@ public class PongManagerBehaviour : BehaviourOverride public void Reset() { ScoreLeft = ScoreRight = 0; + OnScoresUpdated?.Invoke(this); OnReset?.Invoke(this); SendData(); diff --git a/Game/Behaviours/TextScoreBehaviour.cs b/Game/Behaviours/TextScoreBehaviour.cs index bdb5a45..3ba7ee7 100644 --- a/Game/Behaviours/TextScoreBehaviour.cs +++ b/Game/Behaviours/TextScoreBehaviour.cs @@ -14,9 +14,7 @@ public class TextScoreBehaviour : TextBehaviour if (!GameObject.GameManager.TryFindBehaviour(out pongManager)) return; - pongManager.OnFinished += UpdateScores; - pongManager.OnScored += UpdateScores; - pongManager.OnReset += UpdateScores; + pongManager.OnScoresUpdated += UpdateScores; UpdateScores(pongManager); }