private void Update() { Vector3 cursorWorldPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); Int2 slotCoords = LevelAssistant.PositionToCoords(cursorWorldPosition); if (slotCoords != _prevSlotCoords) { transform.position = LevelAssistant.CoordsToPosition(slotCoords); _prevSlotCoords = slotCoords; } }
private void Update() { bool isSuccessfulClick = PointerRaycast(Input.mousePosition, out Vector3 worldPosition); Int2 slotCoords = LevelAssistant.PositionToCoords(worldPosition); for (var i = 0; i < 3; i++) { if (!Input.GetMouseButtonDown(i)) { continue; } if (isSuccessfulClick) { _mouseButtonsDowns[i] = true; InvokeMouseButtonDown(i, worldPosition, slotCoords); } } for (var i = 0; i < 3; i++) { if (_mouseButtonsDowns[i]) { InvokeMouseButtonPress(i, worldPosition, slotCoords); } } for (var i = 0; i < 3; i++) { if (!Input.GetMouseButtonUp(i)) { continue; } _mouseButtonsDowns[i] = false; InvokeMouseButtonUp(i, worldPosition, slotCoords); } }