Fixed cursor issues

This commit is contained in:
Pasha Bibko
2026-04-21 09:11:33 +01:00
parent 9dc0f686a4
commit aa66ea0dcd
2 changed files with 16 additions and 11 deletions

View File

@@ -1804,6 +1804,9 @@ MonoBehaviour:
BuildingPreview: {fileID: 1194686692} BuildingPreview: {fileID: 1194686692}
CursorImage: {fileID: 1330313876} CursorImage: {fileID: 1330313876}
BuildingManager: {fileID: 2005593405} BuildingManager: {fileID: 2005593405}
MinStrength: 0.5
MaxStrength: 1.5
Radius: 60
CurrentMouseClickStrength: 0 CurrentMouseClickStrength: 0
GridPosition: {x: 0, y: 0} GridPosition: {x: 0, y: 0}
SelectedBuildingToBuild: SelectedBuildingToBuild:

View File

@@ -11,9 +11,6 @@ namespace Fruitomation.UI
{ {
public class GameCursor : MonoBehaviour public class GameCursor : MonoBehaviour
{ {
private const float MIN_STRENGTH = 0.5f;
private const float MAX_STRENGTH = 1.7f;
[Header("References")] [Header("References")]
[SerializeField] private Camera ActiveCamera; [SerializeField] private Camera ActiveCamera;
[SerializeField] private CircleCollider2D CursorCollider; [SerializeField] private CircleCollider2D CursorCollider;
@@ -22,6 +19,11 @@ namespace Fruitomation.UI
[SerializeField] private Image CursorImage; [SerializeField] private Image CursorImage;
[SerializeField] private BuildingManager BuildingManager; [SerializeField] private BuildingManager BuildingManager;
[Header("Settings")]
[SerializeField] private float MinStrength = 0.5f;
[SerializeField] private float MaxStrength = 1.5f;
[SerializeField] private int Radius = 30;
[Header("Read Only")] [Header("Read Only")]
[SerializeField, InspectorReadOnly] private float CurrentMouseClickStrength; [SerializeField, InspectorReadOnly] private float CurrentMouseClickStrength;
[SerializeField, InspectorReadOnly] private Vector2Int GridPosition; [SerializeField, InspectorReadOnly] private Vector2Int GridPosition;
@@ -76,7 +78,7 @@ namespace Fruitomation.UI
CursorImage.enabled = false; CursorImage.enabled = false;
BuildingPreview.enabled = false; BuildingPreview.enabled = false;
CurrentMouseClickStrength = MIN_STRENGTH; CurrentMouseClickStrength = MinStrength;
switch (GameStateController.State) switch (GameStateController.State)
{ {
case GameState.Simulation: case GameState.Simulation:
@@ -98,7 +100,7 @@ namespace Fruitomation.UI
throw new ArgumentOutOfRangeException(); throw new ArgumentOutOfRangeException();
} }
CurrentMouseClickStrength = Mathf.Clamp(CurrentMouseClickStrength, MIN_STRENGTH, MAX_STRENGTH); CurrentMouseClickStrength = Mathf.Clamp(CurrentMouseClickStrength, MinStrength, MaxStrength);
CalculateGridPosition(); CalculateGridPosition();
@@ -111,9 +113,9 @@ namespace Fruitomation.UI
if (Input.GetMouseButtonUp(0)) if (Input.GetMouseButtonUp(0))
{ {
CurrentMouseClickStrength = MIN_STRENGTH; CurrentMouseClickStrength = MinStrength;
CursorCollider.radius = CurrentMouseClickStrength * 30f; CursorCollider.radius = CurrentMouseClickStrength * Radius;
Physics2D.OverlapCollider(CursorCollider, ContactFilter, Colliders); Physics2D.OverlapCollider(CursorCollider, ContactFilter, Colliders);
foreach (Collider2D col in Colliders) foreach (Collider2D col in Colliders)
@@ -130,7 +132,7 @@ namespace Fruitomation.UI
if (Input.GetMouseButtonDown(0)) if (Input.GetMouseButtonDown(0))
{ {
StartOfMouseClick = Time.time; StartOfMouseClick = Time.time;
CurrentMouseClickStrength = MIN_STRENGTH; CurrentMouseClickStrength = MinStrength;
return; return;
} }
@@ -139,7 +141,7 @@ namespace Fruitomation.UI
else else
{ {
CurrentMouseClickStrength = MIN_STRENGTH; CurrentMouseClickStrength = MinStrength;
} }
} }