if (clicked)
{
float rocketZ = Camera.main.WorldToScreenPoint(TheRocket.transform.position).z;
Vector3 mousePosition = Input.mousePosition;
mousePosition.z = rocketZ;
Vector3 currentWorldMousePosition = Camera.main.ScreenToWorldPoint(mousePosition);
Vector3 delta = currentWorldMousePosition - oldWorldMousePosition;
oldWorldMousePosition = currentWorldMousePosition;
TheRocket.transform.position += delta;
}
if (Physics2D.OverlapPoint(curPos, layerMask) != null)
{
// Instantiate
}
Vector2.Angle возвращает значения от нуля до 180 включительно, и угол всегда положительный, а в вашем условии пропускается 180.