Example #1
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        // Этот блок на свякий случай.
        // Прецедентов не было, но удаление может сломаться.
        if (_draggedPropItem != null)
        {
            Debug.LogError("Была ошибка при удалении.");
            Destroy(_draggedPropItem.gameObject);
        }

        var propScheme = PropItemViewModel.Prop.Scheme;
        var canUse     = propScheme.Use != null;
        var canRead    = propScheme.Sid == HISTORY_BOOK_SID;
        var canEquip   = propScheme.Equip != null;

        var canDnd = canUse || canRead || canEquip;

        if (!canDnd)
        {
            return;
        }

        var parentCanvas = FindObjectOfType <Canvas>();

        var draggedPropItemObj = _diContainer.InstantiatePrefab(DraggedPropItemPrefab, parentCanvas.transform);

        _draggedPropItem = draggedPropItemObj.GetComponent <DraggedPropItem>();
        _draggedPropItem.Init(PropItemViewModel);

        PropItemViewModel.SetDraggingState(true);
        _inventoryState.SelectedProp = PropItemViewModel;
    }
Example #2
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        // Этот блок на свякий случай.
        // Прецедентов не было, но удаление может сломаться.
        if (_draggedPropItem != null)
        {
            Debug.LogError("Была ошибка при удалении.");
            Destroy(_draggedPropItem.gameObject);
        }

        var parentCanvas = FindObjectOfType <Canvas>();

        var draggedPropItemObj = _diContainer.InstantiatePrefab(DraggedPropItemPrefab, parentCanvas.transform);

        _draggedPropItem = draggedPropItemObj.GetComponent <DraggedPropItem>();
        _draggedPropItem.Init(InventorySlotViewModel);

        InventorySlotViewModel.SetDraggingState(true);
    }