예제 #1
0
        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;
            }
        }
예제 #2
0
        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);
            }
        }