//player aiming
    public void Aiming()
    {
        if (blastButtonReady && !deployHasHappened)
        {
            //Set the button interactiable to false once clicked
            GameObject blastButton          = GameObject.Find("Blast Button");
            Button     blastButtonComponent = blastButton.GetComponent <Button>();
            blastButtonComponent.interactable = false;

            RaycastHit hit;
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out hit) && Input.GetMouseButtonDown(0))
            {
                //Get access to object the player clicked
                GameObject hitObject = hit.collider.gameObject;
                //Get access to the tile position variable inside of the script in the object
                JB_Tile tileInfoScript = hitObject.GetComponent <JB_Tile>();

                //Set that position in a variable
                targetPos = tileInfoScript.tilePosition;

                //Spawn the projectile
                GameObject mySelectionTile = Instantiate(selectionTile, hitObject.transform.position, Quaternion.identity);

                selectionTileGroup.Add(mySelectionTile);
            }
        }
    }
    private void Update()
    {
        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward, out hit, Mathf.Infinity))
        {
            if (hit.collider.gameObject.tag == "Tile")
            {
                // grabs boolean on tile to ensure if it is free or not
                isTileOpen = hit.collider.gameObject.GetComponent <JB_Tile>().isTileFree;

                //reference to the tile to be considered taken after player confirms ship position
                tileRef = hit.collider.gameObject.GetComponent <JB_Tile>();

                x = tileRef.GetComponent <JB_Tile>().x;
                y = tileRef.GetComponent <JB_Tile>().y;

                gridManagerObj = tileRef.transform.parent.gameObject;
            }
            else
            {
                // if raycast hits an object that's not a tile, that means ship is not in viable position
                isTileOpen = false;
            }
        }
        else
        {
            // if raycast hits no game objects, ship is not in viable position
            isTileOpen = false;
        }
    }