Compare commits
3 Commits
feat/netwo
...
main
Author | SHA1 | Date |
---|---|---|
Syntriax | 73ae55e1d4 | |
Syntriax | a35e25eb31 | |
Syntriax | 775f24c560 |
2
Engine
2
Engine
|
@ -1 +1 @@
|
||||||
Subproject commit 5d897f2f56c711629f8cbf915d0ed112cf21680f
|
Subproject commit ef21cdf2138a2f5107a628c0fe970b88bc03dcfd
|
|
@ -8,9 +8,9 @@ namespace Pong.Behaviours;
|
||||||
|
|
||||||
public class MonoGameCamera2DBehaviour(GraphicsDeviceManager Graphics) : BehaviourOverride, ICamera2D
|
public class MonoGameCamera2DBehaviour(GraphicsDeviceManager Graphics) : BehaviourOverride, ICamera2D
|
||||||
{
|
{
|
||||||
public System.Action<MonoGameCamera2DBehaviour>? OnMatrixTransformChanged { get; set; } = null;
|
public event OnMatrixTransformChangedDelegate? OnMatrixTransformChanged = null;
|
||||||
public System.Action<MonoGameCamera2DBehaviour>? OnViewportChanged { get; set; } = null;
|
public event OnViewportChangedDelegate? OnViewportChanged = null;
|
||||||
public System.Action<MonoGameCamera2DBehaviour>? OnZoomChanged { get; set; } = null;
|
public event OnZoomChangedDelegate? OnZoomChanged = null;
|
||||||
|
|
||||||
private Matrix _matrixTransform = Matrix.Identity;
|
private Matrix _matrixTransform = Matrix.Identity;
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ public class MonoGameCamera2DBehaviour(GraphicsDeviceManager Graphics) : Behavio
|
||||||
set => Transform.Rotation = value;
|
set => Transform.Rotation = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.Action<IAssignableTransform>? IAssignableTransform.OnTransformAssigned { get => GameObject.OnTransformAssigned; set => GameObject.OnTransformAssigned = value; }
|
public event IAssignableTransform.OnTransformAssignedDelegate? OnTransformAssigned { add => GameObject.OnTransformAssigned += value; remove => GameObject.OnTransformAssigned -= value; }
|
||||||
ITransform IAssignableTransform.Transform => GameObject.Transform;
|
ITransform IAssignableTransform.Transform => GameObject.Transform;
|
||||||
bool IAssignableTransform.Assign(ITransform transform) => GameObject.Assign(transform);
|
bool IAssignableTransform.Assign(ITransform transform) => GameObject.Assign(transform);
|
||||||
|
|
||||||
|
@ -99,4 +99,8 @@ public class MonoGameCamera2DBehaviour(GraphicsDeviceManager Graphics) : Behavio
|
||||||
Matrix.CreateScale(Zoom) *
|
Matrix.CreateScale(Zoom) *
|
||||||
Matrix.CreateTranslation(new Vector3(_viewport.Width * .5f, _viewport.Height * .5f, 0f));
|
Matrix.CreateTranslation(new Vector3(_viewport.Width * .5f, _viewport.Height * .5f, 0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public delegate void OnMatrixTransformChangedDelegate(MonoGameCamera2DBehaviour sender);
|
||||||
|
public delegate void OnViewportChangedDelegate(MonoGameCamera2DBehaviour sender);
|
||||||
|
public delegate void OnZoomChangedDelegate(MonoGameCamera2DBehaviour sender);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,8 +22,8 @@ public class GamePong : Game
|
||||||
private ShapeBatch shapeBatch = null!;
|
private ShapeBatch shapeBatch = null!;
|
||||||
|
|
||||||
private GameManager gameManager = null!;
|
private GameManager gameManager = null!;
|
||||||
private BehaviourCacher<IDisplayableSprite> displayableCacher = null!;
|
private BehaviourCollector<IDisplayableSprite> displayableCollector = null!;
|
||||||
private BehaviourCacher<IDisplayableShape> displayableShapeCacher = null!;
|
private BehaviourCollector<IDisplayableShape> displayableShapeCollector = null!;
|
||||||
private MonoGameCamera2DBehaviour cameraBehaviour = null!;
|
private MonoGameCamera2DBehaviour cameraBehaviour = null!;
|
||||||
|
|
||||||
private PongManagerBehaviour pongManager = null!;
|
private PongManagerBehaviour pongManager = null!;
|
||||||
|
@ -47,9 +47,9 @@ public class GamePong : Game
|
||||||
{
|
{
|
||||||
// TODO: Add your initialization logic here
|
// TODO: Add your initialization logic here
|
||||||
gameManager = new();
|
gameManager = new();
|
||||||
displayableCacher = new(gameManager);
|
displayableCollector = new(gameManager);
|
||||||
displayableShapeCacher = new(gameManager);
|
displayableShapeCollector = new(gameManager);
|
||||||
physicsEngine = new PhysicsEngine2DCacher(gameManager) { IterationPerStep = 3 };
|
physicsEngine = new PhysicsEngine2DCollector(gameManager) { IterationPerStep = 3 };
|
||||||
|
|
||||||
gameManager.Initialize();
|
gameManager.Initialize();
|
||||||
|
|
||||||
|
@ -154,12 +154,12 @@ public class GamePong : Game
|
||||||
gameManager.PreDraw();
|
gameManager.PreDraw();
|
||||||
|
|
||||||
spriteBatch.Begin(SpriteSortMode.Deferred, transformMatrix: cameraBehaviour.MatrixTransform);
|
spriteBatch.Begin(SpriteSortMode.Deferred, transformMatrix: cameraBehaviour.MatrixTransform);
|
||||||
foreach (var displayable in displayableCacher)
|
foreach (var displayable in displayableCollector)
|
||||||
displayable.Draw(spriteBatch);
|
displayable.Draw(spriteBatch);
|
||||||
spriteBatch.End();
|
spriteBatch.End();
|
||||||
|
|
||||||
shapeBatch.Begin(cameraBehaviour.MatrixTransform);
|
shapeBatch.Begin(cameraBehaviour.MatrixTransform);
|
||||||
foreach (var displayableShape in displayableShapeCacher)
|
foreach (var displayableShape in displayableShapeCollector)
|
||||||
displayableShape.Draw(shapeBatch);
|
displayableShape.Draw(shapeBatch);
|
||||||
shapeBatch.End();
|
shapeBatch.End();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue