using AirBomber.Rendering; namespace AirBomber.MovementStrategy { public class ObjectEntityRenderer : IMovableObject { private readonly BomberRendererBase? _entityRenderer = null; public ObjectEntityRenderer(BomberRendererBase? EntityRenderer) { _entityRenderer = EntityRenderer; } public ObjectParameters? ObjectPosition { get { if (_entityRenderer is null || _entityRenderer.EntityBomber is null) return null; return new ObjectParameters( _entityRenderer.PosX, _entityRenderer.PosY, _entityRenderer.EntityWidth, _entityRenderer.EntityHeight ); } } public int Step => (int)(_entityRenderer?.EntityBomber?.Step ?? 0); public bool CanMove(DirectionType Direction) => _entityRenderer?.CanMove(Direction) ?? false; public void MoveObject(DirectionType Direction) => _entityRenderer?.MoveEntity(Direction); } }