// Update is called once per frame void Update() { Vector3 moveDirection = (targetPosition - transform.position).normalized; transform.position += moveDirection * speed * Time.deltaTime; float angle = GetAngleFromVectorFloat(moveDirection); transform.eulerAngles = new Vector3(0, 0, angle); if (Vector3.Distance(transform.position, targetPosition) < speed * Time.deltaTime * 2) { gameObject.SetActive(false); if (enemy != null) { enemy.Damage(Damage); enemy.Hit(angle); } Destroy(gameObject); } }