Skip to content

Commit 211dc95

Browse files
Lock hovering and selecting map tiles during pathfinding
1 parent 7191033 commit 211dc95

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

Assets/Project/Scripts/Game Objects/Managers/Map Tile/HoveredMapTileManager.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
using UnityEngine;
22
using UnityEngine.Events;
33

4-
public class HoveredMapTileManager : MonoBehaviour, IPrimaryWindowElement
4+
public class HoveredMapTileManager : MonoBehaviour, IPrimaryWindowElement, IMapEditingElement
55
{
66
public UnityEvent<MapTile> hoveredMapTileWasChangedEvent;
77

8+
private bool mapTilesCanBeHovered = true;
89
private MapTile mapTile;
910
private VisualiserEventsManager visualiserEventsManager;
1011

@@ -16,6 +17,11 @@ public void SetPrimaryWindowElementActive(bool active)
1617
}
1718
}
1819

20+
public void SetMapEditingElementActive(bool active)
21+
{
22+
mapTilesCanBeHovered = active;
23+
}
24+
1925
private void Awake()
2026
{
2127
visualiserEventsManager = ObjectMethods.FindComponentOfType<VisualiserEventsManager>();
@@ -48,7 +54,7 @@ private void RegisterToListeners(bool register)
4854

4955
private void OnEventWasSent(VisualiserEvent visualiserEvent)
5056
{
51-
if(visualiserEvent is MapTileBoolVisualiserEvent mapTileBoolVisualiserEvent && mapTileBoolVisualiserEvent.GetVisualiserEventType() == VisualiserEventType.MapTileHoverStateWasChanged)
57+
if(mapTilesCanBeHovered && visualiserEvent is MapTileBoolVisualiserEvent mapTileBoolVisualiserEvent && mapTileBoolVisualiserEvent.GetVisualiserEventType() == VisualiserEventType.MapTileHoverStateWasChanged)
5258
{
5359
SetMapTile(mapTileBoolVisualiserEvent.GetBoolValue() ? mapTileBoolVisualiserEvent.GetMapTile() : null);
5460
}

Assets/Project/Scripts/Game Objects/Managers/Map Tile/SelectedMapTileManager.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
using UnityEngine;
22
using UnityEngine.Events;
33

4-
public class SelectedMapTileManager : MonoBehaviour, IPrimaryWindowElement
4+
public class SelectedMapTileManager : MonoBehaviour, IPrimaryWindowElement, IMapEditingElement
55
{
66
public UnityEvent<MapTile> selectedMapTileWasChangedEvent;
77

8+
private bool mapTilesCanBeSelected = true;
89
private MapTile mapTile;
910
private VisualiserEventsManager visualiserEventsManager;
1011

@@ -16,6 +17,11 @@ public void SetPrimaryWindowElementActive(bool active)
1617
}
1718
}
1819

20+
public void SetMapEditingElementActive(bool active)
21+
{
22+
mapTilesCanBeSelected = active;
23+
}
24+
1925
private void Awake()
2026
{
2127
visualiserEventsManager = ObjectMethods.FindComponentOfType<VisualiserEventsManager>();
@@ -48,7 +54,7 @@ private void RegisterToListeners(bool register)
4854

4955
private void OnEventWasSent(VisualiserEvent visualiserEvent)
5056
{
51-
if(visualiserEvent is MapTileBoolVisualiserEvent mapTileBoolVisualiserEvent && mapTileBoolVisualiserEvent.GetVisualiserEventType() == VisualiserEventType.MapTileSelectionStateWasChanged)
57+
if(mapTilesCanBeSelected && visualiserEvent is MapTileBoolVisualiserEvent mapTileBoolVisualiserEvent && mapTileBoolVisualiserEvent.GetVisualiserEventType() == VisualiserEventType.MapTileSelectionStateWasChanged)
5258
{
5359
SetMapTile(mapTileBoolVisualiserEvent.GetBoolValue() ? mapTileBoolVisualiserEvent.GetMapTile() : null);
5460
}

0 commit comments

Comments
 (0)