void CheckForUsableObject(int direction)
    {
        //making sure this can't be triggered during a fight or character is otherwise locked down
        if (!canAct || !canMove)
        {
            return;
        }

        Vector2 checkDir = Vector2.zero;

        RaycastHit2D[] hitList = new RaycastHit2D[5];

        switch (direction)
        {
        case StaticData.DIR_UP:
            checkDir.y = 1;
            break;

        case StaticData.DIR_DOWN:
            checkDir.y = -1;
            break;

        case StaticData.DIR_RIGHT:
            checkDir.x = 1;
            break;

        case StaticData.DIR_LEFT:
            checkDir.x = -1;
            break;
        }

        int hitCount = rb.Cast(checkDir, hitList, grid / 2);

        if (hitCount > 5)
        {
            Debug.LogError("Do not have more than 5 items stacked on one tile!  Bad designer, no twinkie!");
        }
        for (int i = 0; i < hitCount; i++)
        {
            Fungus.Flowchart fc = hitList[i].collider.gameObject.GetComponent <Fungus.Flowchart>();
            if (fc != null)
            {
                fc.ExecuteBlockDisableMove("InteractStart");
                break;
            } //end if
        }     //end for
    }         //end method