Ваш код имеет проблему с областью видимости переменной flower. Внутри условия if (a == true) вы создаете новую локальную переменную flower, которая затеняет поле класса flower. В результате, когда вы пытаетесь удалить объект в блоке else, вы обращаетесь к полю класса, которое не инициализировано.
Вам нужно изменить код так, чтобы использовать поле класса flower для хранения ссылки на созданный объект.
using UnityEngine;
public class MouseClick : MonoBehaviour
{
public GameObject panel;
public GameObject objectt;
private bool a = true;
private GameObject flower; // Изменено: теперь это поле класса
private void OnMouseDown()
{
if (a)
{
flower = Instantiate(objectt, panel.transform.position, Quaternion.identity); // Изменено: используем поле класса
a = false;
Debug.Log(a);
Debug.Log(flower);
}
else
{
Destroy(flower);
a = true; // Изменено: восстанавливаем флаг
Debug.Log(a);
}
}
}