freeExec, я прочёл что подобным образом(gameObject.AddComponent();) можно заменить запись (new FlowerPRO). Из-за проблем связанных с вызовом с помощью new, MonoBehaviour
Если FlowerPRO у тебя наследуется от MonoBehaviour, то все верно пишет. Или убери наследование, или создавай List/Array через инспектор и прокидывай куда надо. А объявление можно записать просто public FlowerPRO[,] flowersPRO = null;