Skip to content

Commit 1d26172

Browse files
author
JasonNumberThirteen
committed
Fix adjusting weight of a map tile while the other one is being dragged
1 parent 482a4ba commit 1d26172

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

Assets/Project/Scripts/Game Objects/MapTileWeightController.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ public class MapTileWeightController : MonoBehaviour, IPrimaryWindowElement, IMa
77
public UnityEvent<int> weightWasChangedEvent;
88

99
private MapTile mapTile;
10+
private bool tileIsBeingDragged;
1011
private bool hoveringTilesIsLocked;
1112
private bool panelUIHoverWasDetected;
1213
private UserInputController userInputController;
1314
private HoveredMapTileManager hoveredMapTileManager;
15+
private SelectedMapTileManager selectedMapTileManager;
1416
private PanelUIHoverDetectionManager panelUIHoverDetectionManager;
1517

1618
public void SetPrimaryWindowElementActive(bool active)
@@ -29,6 +31,7 @@ private void Awake()
2931
{
3032
userInputController = FindFirstObjectByType<UserInputController>();
3133
hoveredMapTileManager = FindFirstObjectByType<HoveredMapTileManager>();
34+
selectedMapTileManager = FindFirstObjectByType<SelectedMapTileManager>();
3235
panelUIHoverDetectionManager = FindFirstObjectByType<PanelUIHoverDetectionManager>();
3336

3437
RegisterToListeners(true);
@@ -53,6 +56,11 @@ private void RegisterToListeners(bool register)
5356
hoveredMapTileManager.hoveredMapTileWasChangedEvent.AddListener(OnHoveredMapTileWasChanged);
5457
}
5558

59+
if(selectedMapTileManager != null)
60+
{
61+
selectedMapTileManager.selectedMapTileWasChangedEvent.AddListener(OnSelectedMapTileWasChanged);
62+
}
63+
5664
if(panelUIHoverDetectionManager != null)
5765
{
5866
panelUIHoverDetectionManager.panelUIHoverDetectionStateWasChangedEvent.AddListener(OnPanelUIHoverDetectionStateWasChanged);
@@ -70,6 +78,11 @@ private void RegisterToListeners(bool register)
7078
hoveredMapTileManager.hoveredMapTileWasChangedEvent.RemoveListener(OnHoveredMapTileWasChanged);
7179
}
7280

81+
if(selectedMapTileManager != null)
82+
{
83+
selectedMapTileManager.selectedMapTileWasChangedEvent.RemoveListener(OnSelectedMapTileWasChanged);
84+
}
85+
7386
if(panelUIHoverDetectionManager != null)
7487
{
7588
panelUIHoverDetectionManager.panelUIHoverDetectionStateWasChangedEvent.RemoveListener(OnPanelUIHoverDetectionStateWasChanged);
@@ -79,7 +92,7 @@ private void RegisterToListeners(bool register)
7992

8093
private void OnWheelScrolled(Vector2 scrollVector)
8194
{
82-
if(hoveringTilesIsLocked || panelUIHoverWasDetected)
95+
if(tileIsBeingDragged || hoveringTilesIsLocked || panelUIHoverWasDetected)
8396
{
8497
return;
8598
}
@@ -112,6 +125,11 @@ private void OnHoveredMapTileWasChanged(MapTile mapTile)
112125
this.mapTile = mapTile;
113126
}
114127

128+
private void OnSelectedMapTileWasChanged(MapTile mapTile)
129+
{
130+
tileIsBeingDragged = mapTile != null;
131+
}
132+
115133
private void OnPanelUIHoverDetectionStateWasChanged(bool detected)
116134
{
117135
panelUIHoverWasDetected = detected;

0 commit comments

Comments
 (0)