Engine-Pong/Game/Behaviours/PongTextBehaviour.cs

34 lines
880 B
C#
Raw Normal View History

using Microsoft.Xna.Framework.Graphics;
2024-01-30 12:43:30 +03:00
using Syntriax.Engine.Core;
namespace Pong.Behaviours;
public class PongTextBehaviour : TextBehaviour
2024-01-30 12:43:30 +03:00
{
public bool IsLeft { get; }
2024-01-30 12:43:30 +03:00
private PongManager? pongManager = null;
public PongTextBehaviour(bool IsLeft) => this.IsLeft = IsLeft;
public PongTextBehaviour(bool IsLeft, SpriteFont font) : base(font) => this.IsLeft = IsLeft;
2024-01-30 12:43:30 +03:00
protected override void OnFirstActiveFrame()
{
if (!GameObject.GameManager.TryFindBehaviour(out pongManager))
return;
pongManager.OnScored += UpdateScores;
pongManager.OnReset += UpdateScores;
UpdateScores(pongManager);
2024-01-30 12:43:30 +03:00
}
private void UpdateScores(PongManager pongManager)
{
if (IsLeft)
Text = pongManager.ScoreLeft.ToString();
else
Text = pongManager.ScoreRight.ToString();
}
}