IRectItemsLink CreateItemsLink(IRectItem item1, IRectItem item2)
    {
        var            itemsLinkGameObject = Instantiate(linkLinePrefab, _linksPanel.transform, false);
        IRectItemsLink itemsLink           = itemsLinkGameObject.GetComponent <IRectItemsLink>();

        itemsLink.CreateLink(item1, item2);

        return(itemsLink);
    }
    void Awake()
    {
        Instance = this;

        _itemSize = itemPrefab.GetComponentInChildren <BoxCollider2D>().size;

        _itemsPanel = GameObject.FindGameObjectWithTag("ItemsPanel");
        _linksPanel = GameObject.FindGameObjectWithTag("ItemsLinksPanel");

        //Создаём линию для режима создания (удаления) связи
        var itemsLinkGameObject = Instantiate(linkLinePrefab, _linksPanel.transform, false);

        _itemsLinkPoiter = itemsLinkGameObject.GetComponent <IRectItemsLink>();
        _itemsLinkPoiter.gameObject.SetActive(false);
        _itemsLinkPoiter.SetAlpha(0.5f);
        //

        //
        Camera camera = Camera.main;

        _itemAvailablePositionRect = new Rect(_itemSize.x / 2, _itemSize.y / 2, camera.pixelWidth - _itemSize.x, camera.pixelHeight - _itemSize.y);
        //
    }
 public void AddLink(IRectItem toItem, IRectItemsLink link)
 {
     _links.Add(toItem, link);
 }
 public bool TryGetLinkToItem(IRectItem toItem, out IRectItemsLink itemsLink)
 {
     return(_links.TryGetValue(toItem, out itemsLink));
 }