Example #1
0
    void Grab()
    {
        Vector2    mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Collider2D col      = ObjectUnderCursor();

        if (col != null && col.transform.CompareTag("DragAbleObject"))
        {
            currentObject   = col.transform.parent;
            objectOffset    = (Vector2)currentObject.position - mousePos;
            currentDragAble = currentObject.GetComponent <DragAbleObject>();

            if (currentObject.GetComponent <DragAbleObject>().IsOnGrid())
            {
                List <Cell> cells = currentDragAble.GetOverlapCells(false);
                foreach (Cell c in cells)
                {
                    c.inUse = false;
                }
                currentObject.GetComponent <DragAbleObject>().RemoveFromGrid();
            }
            else
            {
                currentObject.GetComponent <DragAbleObject>().oldPosition = currentObject.transform.position;
                currentObject.GetComponent <DragAbleObject>().oldRotation = currentObject.transform.rotation;
            }
            currentDragAble            = currentObject.GetComponent <DragAbleObject>();
            currentDragAble.beingMoved = true;
        }
    }
Example #2
0
    bool CheckIfTrashcan()
    {
        List <Cell> cells = currentDragAble.GetOverlapCells(false);

        if (cells == null || cells.Count == 0)
        {
            return(false);
        }
        foreach (Cell c in cells)
        {
            if (c.transform.parent != null && c.transform.parent.GetComponent <PlacementGrid>().IsTrashcan)
            {
                return(true);
            }
        }
        return(false);
    }
Example #3
0
    bool CheckIfDropAble()
    {
        DragAbleObject dragObject = currentObject.GetComponent <DragAbleObject>();

        return(currentObject != null && dragObject.GetOverlapCells(true)?.Count == dragObject.cellAmount);
    }