refactor: monogame 2D camera now use engine events
This commit is contained in:
@@ -7,9 +7,9 @@ namespace Engine.Integration.MonoGame;
|
|||||||
|
|
||||||
public class MonoGameCamera2D : BehaviourBase, ICamera2D, IFirstFrameUpdate, IPreDraw
|
public class MonoGameCamera2D : BehaviourBase, ICamera2D, IFirstFrameUpdate, IPreDraw
|
||||||
{
|
{
|
||||||
public event MatrixTransformChangedArguments? OnMatrixTransformChanged = null;
|
public Event<MonoGameCamera2D> OnMatrixTransformChanged { get; } = new();
|
||||||
public event ViewportChangedArguments? OnViewportChanged = null;
|
public Event<MonoGameCamera2D> OnViewportChanged { get; } = new();
|
||||||
public event ZoomChangedArguments? OnZoomChanged = null;
|
public Event<MonoGameCamera2D> OnZoomChanged { get; } = new();
|
||||||
|
|
||||||
private Matrix _matrixTransform = Matrix.Identity;
|
private Matrix _matrixTransform = Matrix.Identity;
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ public class MonoGameCamera2D : BehaviourBase, ICamera2D, IFirstFrameUpdate, IPr
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
_matrixTransform = value;
|
_matrixTransform = value;
|
||||||
OnMatrixTransformChanged?.Invoke(this);
|
OnMatrixTransformChanged.Invoke(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ public class MonoGameCamera2D : BehaviourBase, ICamera2D, IFirstFrameUpdate, IPr
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
_viewport = value;
|
_viewport = value;
|
||||||
OnViewportChanged?.Invoke(this);
|
OnViewportChanged.Invoke(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ public class MonoGameCamera2D : BehaviourBase, ICamera2D, IFirstFrameUpdate, IPr
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
_zoom = newValue;
|
_zoom = newValue;
|
||||||
OnZoomChanged?.Invoke(this);
|
OnZoomChanged.Invoke(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,8 +102,4 @@ public class MonoGameCamera2D : BehaviourBase, ICamera2D, IFirstFrameUpdate, IPr
|
|||||||
|
|
||||||
protected sealed override void InitializeInternal() => Transform = BehaviourController.GetRequiredBehaviour<ITransform2D>();
|
protected sealed override void InitializeInternal() => Transform = BehaviourController.GetRequiredBehaviour<ITransform2D>();
|
||||||
protected sealed override void FinalizeInternal() => Transform = null!;
|
protected sealed override void FinalizeInternal() => Transform = null!;
|
||||||
|
|
||||||
public delegate void MatrixTransformChangedArguments(MonoGameCamera2D sender);
|
|
||||||
public delegate void ViewportChangedArguments(MonoGameCamera2D sender);
|
|
||||||
public delegate void ZoomChangedArguments(MonoGameCamera2D sender);
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user