This commit is contained in:
2026-05-09 12:29:32 +02:00
parent 4b581d60b5
commit c406bf9d73
36 changed files with 4116 additions and 4146 deletions

View File

@@ -212,8 +212,6 @@ public sealed partial class MainWindow
e.Handled = true; e.Handled = true;
return; return;
} }
SetHoveredCell(point.Position);
} }
private void LevelCanvas_PointerReleased(object sender, PointerRoutedEventArgs e) private void LevelCanvas_PointerReleased(object sender, PointerRoutedEventArgs e)
@@ -228,11 +226,6 @@ public sealed partial class MainWindow
e.Handled = true; e.Handled = true;
} }
private void LevelCanvas_PointerExited(object sender, PointerRoutedEventArgs e)
{
ClearHoveredCell();
}
private void LevelCanvas_PointerWheelChanged(object sender, PointerRoutedEventArgs e) private void LevelCanvas_PointerWheelChanged(object sender, PointerRoutedEventArgs e)
{ {
var point = e.GetCurrentPoint(LevelCanvas); var point = e.GetCurrentPoint(LevelCanvas);
@@ -346,13 +339,10 @@ public sealed partial class MainWindow
if (cell.Hazards.Fire) if (cell.Hazards.Fire)
DrawImage(drawing, m_FireSprite, Inset(rect, 0.08)); DrawImage(drawing, m_FireSprite, Inset(rect, 0.08));
DrawCellProp(drawing, cell, rect);
if (m_HoveredCell == position)
drawing.FillRectangle(rect, ColorHelper.FromArgb(72, 255, 255, 255));
if (m_SelectedCell == position) if (m_SelectedCell == position)
drawing.DrawRectangle(rect, Colors.White, 3); drawing.DrawRectangle(rect, Colors.White, 3);
DrawCellProp(drawing, cell, rect);
} }
} }
} }
@@ -529,25 +519,6 @@ public sealed partial class MainWindow
return m_Level.InBounds(position); return m_Level.InBounds(position);
} }
private void SetHoveredCell(Point point)
{
var hoveredCell = TryGetGridPosition(point, out var position) ? position : (GridPosition?)null;
if (m_HoveredCell == hoveredCell)
return;
m_HoveredCell = hoveredCell;
LevelCanvas.Invalidate();
}
private void ClearHoveredCell()
{
if (m_HoveredCell is null)
return;
m_HoveredCell = null;
LevelCanvas.Invalidate();
}
private CanvasLayout GetLayout() private CanvasLayout GetLayout()
{ {
ClampPan(); ClampPan();
@@ -733,7 +704,7 @@ public sealed partial class MainWindow
private const double c_MinZoom = 0.5; private const double c_MinZoom = 0.5;
private const double c_MaxZoom = 4; private const double c_MaxZoom = 4;
private const double c_ZoomStep = 1.15; private const double c_ZoomStep = 1.15;
private const double c_ClickPixelThreshold = 5; private const double c_ClickPixelThreshold = 10;
private readonly SimulationEngine m_Simulation = new(); private readonly SimulationEngine m_Simulation = new();
private readonly Dictionary<ECellProp, CanvasBitmap> m_PropSprites = []; private readonly Dictionary<ECellProp, CanvasBitmap> m_PropSprites = [];
@@ -745,7 +716,6 @@ public sealed partial class MainWindow
private bool m_DragExceededClickThreshold; private bool m_DragExceededClickThreshold;
private Point m_LeftPointerDownPoint; private Point m_LeftPointerDownPoint;
private Point m_LastPanPoint; private Point m_LastPanPoint;
private GridPosition? m_HoveredCell;
private GridPosition? m_SelectedCell; private GridPosition? m_SelectedCell;
private EEditorTool m_SelectedTool = EEditorTool.Cursor; private EEditorTool m_SelectedTool = EEditorTool.Cursor;
private double m_Zoom = 1; private double m_Zoom = 1;