Engine-Pong/Shared/Behaviours/ScoreLabel.cs
2025-08-05 20:12:07 +03:00

29 lines
663 B
C#

using Engine.Core;
namespace Pong.Behaviours;
public class ScoreLabel(bool IsLeft) : Label, IFirstFrameUpdate
{
public readonly bool IsLeft = IsLeft;
private PongManager pongManager = null!;
public void FirstActiveFrame()
{
pongManager = Universe.FindRequiredBehaviour<PongManager>();
pongManager.OnScoreUpdated += UpdateScores;
pongManager.OnReset += UpdateScores;
UpdateScores(pongManager);
}
private void UpdateScores(PongManager pongManager)
{
if (IsLeft)
Text = pongManager.ScoreLeft.ToString();
else
Text = pongManager.ScoreRight.ToString();
}
}