public void Render()
{
if (HotspotPanel.DrawHotspots && Hotspots.Count != 0)
{
SpriteBatch batch = new SpriteBatch(Engine.Device);
batch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied, SamplerState.PointClamp, DepthStencilState.DepthRead, RasterizerState.CullNone);
foreach (var spot in Hotspots)
{
Cell cell = new Cell();
spot.DebugAppearance.CopyAppearanceTo(cell);
Point offset = consoleWrapper.Position - consoleWrapper.TextSurface.RenderArea.Location;
foreach (var position in spot.Positions)
{
Point adjustedPosition = position + offset;
if (consoleWrapper.TextSurface.RenderArea.Contains(position))
cell.Render(batch,
new Rectangle(adjustedPosition.ConsoleLocationToWorld(Settings.Config.ScreenFont.Size.X, Settings.Config.ScreenFont.Size.Y), Settings.Config.ScreenFont.Size),
Settings.Config.ScreenFont);
}
}
batch.End();
}
if (ZonesPanel.DrawZones)
foreach (var zone in Zones)
{
zone.Render();
}
if (GameObjectPanel.DrawObjects)
foreach (var entity in Objects)
{
entity.Render();
}
}