示例#1
0
    private void StartDragging()
    {
        _audioSource.clip = pickupSound;
        _audioSource.Play();

        if (isOnShelf)
        {
            SetShelfSpaceFree();
        }

        isOnShelf = false;
        isOnCart  = false;

        SetReadinessToBePlaced(CanBePlaced());

        interactionManager.IsCarryingBag = true;
        _isDragging = true;
        _spriteRenderer.sortingLayerID = SortingLayer.NameToID(SortingLayerDraggedBag);

        foreach (GridElementController gridElement in _matchedGridElements)
        {
            gridElement.isOccupied = false;
        }
        _matchedGridElements = new List <GridElementController>();

        SpriteHelper.SetAlpha(_spriteRenderer.color, 0.5f);

        OnBagPickupStatusChangeEvent?.Invoke();
    }
示例#2
0
    public void PlaceOnCart()
    {
        SetShelfSpaceFree();

        transform.position = _startingPosition;
        transform.rotation = _startingRotation;
        isOnShelf          = false;
        isOnCart           = true;

        OnBagPickupStatusChangeEvent?.Invoke();
    }
示例#3
0
    void PlaceOfShelf()
    {
        isOnShelf = true;
        isOnCart  = false;

        foreach (GridElementController gridElement in _matchedGridElements)
        {
            gridElement.isOccupied = true;
        }

        // Position bag on grid
        transform.position += _nearestGridOffset;

        OnBagPickupStatusChangeEvent?.Invoke();
    }