feat: pong reset scores on game start

This commit is contained in:
Syntriax 2025-06-28 23:01:16 +03:00
parent 0ec047cc23
commit d41246b6f6

View File

@ -64,8 +64,7 @@ public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate
{ {
ScoreLeft = ScoreRight = 0; ScoreLeft = ScoreRight = 0;
ball.ResetBall(); PostScoreUpdate();
ball.LaunchBall(GetBallLaunchDirection());
OnReset?.Invoke(this); OnReset?.Invoke(this);
} }
@ -84,6 +83,7 @@ public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate
if (ScoreLeft > halfwayScore || ScoreRight > halfwayScore) if (ScoreLeft > halfwayScore || ScoreRight > halfwayScore)
{ {
OnFinished?.Invoke(this); OnFinished?.Invoke(this);
logger?.Log(this, $"Game finished");
return; return;
} }
@ -109,10 +109,13 @@ public class PongManagerBehaviour : Behaviour, INetworkEntity, IFirstFrameUpdate
void IPacketListenerServer<RequestStartPacket>.OnServerPacketArrived(IConnection sender, RequestStartPacket packet) void IPacketListenerServer<RequestStartPacket>.OnServerPacketArrived(IConnection sender, RequestStartPacket packet)
{ {
logger?.Log(this, $"{sender} requested start");
if (ball.RigidBody.Velocity.MagnitudeSquared > 0.01f) if (ball.RigidBody.Velocity.MagnitudeSquared > 0.01f)
return; return;
Reset();
ball.LaunchBall(GetBallLaunchDirection()); ball.LaunchBall(GetBallLaunchDirection());
logger?.Log(this, $"Game started");
} }
private class RequestStartPacket : INetworkPacket; private class RequestStartPacket : INetworkPacket;