void OnMouseDown() { if (click && Time.time <= (clickTime + clickDelta)) { if (!transform.FindDeepChild("placingpos").GetComponent <EmptyDetect>().collided) { Transform p = Instantiate(turrent, pos_place.position, Quaternion.identity); foreach (Transform t in MainController.placed) { try { t.FindDeepChild("Radius").gameObject.SetActive(false); } catch (System.Exception ex) { Debug.LogError("ERROR, failed finding an erased turrent.. " + ex.Message); } } MainController.placed.Add(p); p.GetComponent <BuildingPositions>().SetId(rolling_id); spawnerRef.AddBuilding(rolling_id, p.GetComponent <BuildingPositions>()); p.GetComponent <BuildingPositions>().SetParent(GameObject.Find("EnemySpawner").GetComponent <EnemySpawner>()); rolling_id++; MainController.active_placing = false; Destroy(gameObject); add_button.SetActive(true); del_button.SetActive(false); } } else { click = true; clickTime = Time.time; } screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position); offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z)); }