using Microsoft.Xna.Framework.Graphics; using Syntriax.Engine.Core; using Syntriax.Engine.Integration.MonoGame; namespace Pong.Behaviours; public class TextScoreBehaviour(bool IsLeft) : TextBehaviour, IFirstFrameUpdate { public readonly bool IsLeft = IsLeft; private PongManagerBehaviour pongManager = null!; public void FirstActiveFrame() { MonoGameWindow monoGameWindow = Universe.FindRequiredBehaviour().Window; Font = monoGameWindow.Content.Load("UbuntuMono"); pongManager = Universe.FindRequiredBehaviour(); pongManager.OnScored += UpdateScores; pongManager.OnReset += UpdateScores; UpdateScores(pongManager); } private void UpdateScores(PongManagerBehaviour pongManager) { if (IsLeft) Text = pongManager.ScoreLeft.ToString(); else Text = pongManager.ScoreRight.ToString(); } }