// Update is called once per frame void Update() { if (done) { return; } var newPosition = Util.CalculateRaycastPosition(); //Debug.Log(newPosition); this.transform.position = new Vector3(newPosition.x, this.transform.position.y, newPosition.z); bool canPlace = (Consumable?.CanPlace()).GetValueOrDefault(); if (canPlace) { meshIndicator.material.color = Color.green; } else { meshIndicator.material.color = Color.red; } if (Input.GetMouseButtonDown(0)) { if (canPlace) { SoundManager.instance.PlayOneShotSound(SoundType.MenuClick); GameManager.instance.ConsumableManager.Consume(Consumable); GameObject.Destroy(this.gameObject); } } else if (Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Escape)) { SoundManager.instance.PlayOneShotSound(SoundType.MenuClick); GameObject.Destroy(this.gameObject); } }