refactor: Text Behaviour Font Constructor
This commit is contained in:
		| @@ -1,13 +1,17 @@ | ||||
| using Microsoft.Xna.Framework.Graphics; | ||||
| using Syntriax.Engine.Core; | ||||
|  | ||||
| namespace Pong.Behaviours; | ||||
|  | ||||
| public class PongTextBehaviour(bool IsLeft) : TextBehaviour | ||||
| public class PongTextBehaviour : TextBehaviour | ||||
| { | ||||
|     public bool IsLeft { get; } = IsLeft; | ||||
|     public bool IsLeft { get; } | ||||
|  | ||||
|     private PongManager? pongManager = null; | ||||
|  | ||||
|     public PongTextBehaviour(bool IsLeft) => this.IsLeft = IsLeft; | ||||
|     public PongTextBehaviour(bool IsLeft, SpriteFont font) : base(font) => this.IsLeft = IsLeft; | ||||
|  | ||||
|     protected override void OnFirstActiveFrame() | ||||
|     { | ||||
|         if (!GameObject.GameManager.TryFindBehaviour(out pongManager)) | ||||
| @@ -15,6 +19,8 @@ public class PongTextBehaviour(bool IsLeft) : TextBehaviour | ||||
|  | ||||
|         pongManager.OnScored += UpdateScores; | ||||
|         pongManager.OnReset += UpdateScores; | ||||
|  | ||||
|         UpdateScores(pongManager); | ||||
|     } | ||||
|  | ||||
|     private void UpdateScores(PongManager pongManager) | ||||
|   | ||||
| @@ -8,6 +8,9 @@ namespace Pong.Behaviours; | ||||
|  | ||||
| public class TextBehaviour : BehaviourOverride, IDisplayable | ||||
| { | ||||
|     public TextBehaviour() { } | ||||
|     public TextBehaviour(SpriteFont font) => Font = font; | ||||
|  | ||||
|     public SpriteFont? Font { get; set; } = null; | ||||
|     public int Size { get; set; } = 16; | ||||
|     public string Text { get; set; } = string.Empty; | ||||
|   | ||||
| @@ -125,15 +125,11 @@ public class GamePong : Game | ||||
|  | ||||
|         IGameObject gameObjectLeftScoreText = gameManager.InstantiateGameObject<GameObject>().SetGameObject("Score Left"); | ||||
|         gameObjectLeftScoreText.Transform.SetTransform(position: new Vector2D(-250f, 250f), scale: Vector2D.One * .25f); | ||||
|         PongTextBehaviour textBehaviourLeft = gameObjectLeftScoreText.BehaviourController.AddBehaviour<PongTextBehaviour>(true); | ||||
|         textBehaviourLeft.Font = spriteFont; | ||||
|         textBehaviourLeft.Text = "0"; | ||||
|         gameObjectLeftScoreText.BehaviourController.AddBehaviour<PongTextBehaviour>(true, spriteFont); | ||||
|  | ||||
|         IGameObject gameObjectRightScoreText = gameManager.InstantiateGameObject<GameObject>().SetGameObject("Score Right"); | ||||
|         gameObjectRightScoreText.Transform.SetTransform(position: new Vector2D(250f, 250f), scale: Vector2D.One * .25f); | ||||
|         PongTextBehaviour textBehaviourRight = gameObjectRightScoreText.BehaviourController.AddBehaviour<PongTextBehaviour>(false); | ||||
|         textBehaviourRight.Font = spriteFont; | ||||
|         textBehaviourRight.Text = "0"; | ||||
|         gameObjectRightScoreText.BehaviourController.AddBehaviour<PongTextBehaviour>(false, spriteFont); | ||||
|     } | ||||
|  | ||||
|     protected override void Update(GameTime gameTime) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user