Quantcast
Channel: Questions in topic: "issue"
Viewing all articles
Browse latest Browse all 827

How to make the turret not placeable on walls?

$
0
0
So I am working on a little game where you can place turrets and deffend points and I have this small issue. I can place turrets everywhere, even on walls and I dont want that. How can I make the turrets not placeable on walls ? Here is the script: public GameObject blueprintGreen; public GameObject blueprintRed; public GameObject turret; private GameObject moveableBlue; private bool blueprintOn; [SerializeField] private Vector3 offset; [SerializeField] private float rotation; [SerializeField] private LayerMask mask; // Start is called before the first frame update void Start() { blueprintOn = false; } // Update is called once per frame void Update() { if(Input.GetKeyDown(KeyCode.Q) && blueprintOn == false) { BluePrint(); } if (Input.GetKeyDown(KeyCode.Mouse0) && blueprintOn == true) { BuildTurret(); Destroy(moveableBlue); blueprintOn = false; rotation = 0f; } if(Input.GetKey(KeyCode.Z) && blueprintOn == true) { rotation -= 2.5f; } if(Input.GetKey(KeyCode.X) && blueprintOn == true) { rotation += 2.5f; } if (blueprintOn) { MoveBluePrint(); } } void BluePrint() { moveableBlue = Instantiate(blueprintGreen); blueprintOn = true; } void MoveBluePrint() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit rayCast; if(Physics.Raycast(ray, out rayCast, mask)) { moveableBlue.transform.position = rayCast.point + offset; //moveableBlue.transform.rotation = Quaternion.FromToRotation(Vector3.up, rayCast.normal); if (blueprintOn == true) moveableBlue.transform.rotation = Quaternion.Euler(0f, rotation, 0f); } } void BuildTurret() { Instantiate(turret, moveableBlue.transform.position, moveableBlue.transform.rotation); }

Viewing all articles
Browse latest Browse all 827

Trending Articles