//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; } }