From 3717701171efa8a7be88ca465fb2ae056d96fb39 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Tue, 30 Jan 2024 12:14:49 +0300 Subject: [PATCH] refactor: Engine.Core ICamera Removal --- Engine | 2 +- Game/Behaviours/MonoGameCameraBehaviour.cs | 19 +++++++------------ Game/Game1.cs | 2 -- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/Engine b/Engine index d7d53e4..4000e76 160000 --- a/Engine +++ b/Engine @@ -1 +1 @@ -Subproject commit d7d53e467a9fe118c8ec9e93ee97a3bd64b1208e +Subproject commit 4000e761a7827bb76d657b10a3341248b90b0aa5 diff --git a/Game/Behaviours/MonoGameCameraBehaviour.cs b/Game/Behaviours/MonoGameCameraBehaviour.cs index 9cb088d..06297c0 100644 --- a/Game/Behaviours/MonoGameCameraBehaviour.cs +++ b/Game/Behaviours/MonoGameCameraBehaviour.cs @@ -8,13 +8,13 @@ using Syntriax.Engine.Core.Abstract; namespace Pong.Behaviours; -public class MonoGameCameraBehaviour : BehaviourOverride, ICamera +public class MonoGameCameraBehaviour : BehaviourOverride { - public Action? OnPositionChanged { get; set; } = null; - public Action? OnMatrixTransformChanged { get; set; } = null; - public Action? OnViewportChanged { get; set; } = null; - public Action? OnRotationChanged { get; set; } = null; - public Action? OnZoomChanged { get; set; } = null; + public Action? OnPositionChanged { get; set; } = null; + public Action? OnMatrixTransformChanged { get; set; } = null; + public Action? OnViewportChanged { get; set; } = null; + public Action? OnRotationChanged { get; set; } = null; + public Action? OnZoomChanged { get; set; } = null; private Matrix _matrixTransform = Matrix.Identity; @@ -74,11 +74,8 @@ public class MonoGameCameraBehaviour : BehaviourOverride, ICamera get => Transform.Rotation; set => Transform.Rotation = value; } - public Action? OnTransformAssigned { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } - ITransform IAssignableTransform.Transform => throw new NotImplementedException(); - - public void Update() + protected override void OnPreDraw() { MatrixTransform = Matrix.CreateTranslation(new Vector3(-Position.X, Position.Y, 0f)) * @@ -101,6 +98,4 @@ public class MonoGameCameraBehaviour : BehaviourOverride, ICamera private void OnTransformRotationChanged(ITransform _) => OnRotationChanged?.Invoke(this); private void OnTransformPositionChanged(ITransform _) => OnPositionChanged?.Invoke(this); - - public bool Assign(ITransform transform) => GameObject.Assign(transform); } diff --git a/Game/Game1.cs b/Game/Game1.cs index 63031a0..23f2170 100644 --- a/Game/Game1.cs +++ b/Game/Game1.cs @@ -68,7 +68,6 @@ public class Game1 : Game cameraBehaviour = gameObjectCamera.BehaviourController.AddBehaviour(); cameraBehaviour.Viewport = GraphicsDevice.Viewport; - gameManager.Camera = cameraBehaviour; //////////////////////////////////////////////////////////////////////////////////// @@ -243,7 +242,6 @@ public class Game1 : Game // TODO: Add your drawing code here gameManager.PreDraw(); - gameManager.Camera.Update(); _spriteBatch.Begin(SpriteSortMode.Deferred, transformMatrix: cameraBehaviour.MatrixTransform); foreach (IGameObject gameObject in gameManager)