появляется прямой доступ к полям через инспектор и зачем?
Этот атрибут разве не имеет отношения к стандартному механизму сериализации?
Какой атрибут конкретно? SerializedField- это атрибут чисто юнити для прокидывания значений в префабы и их дальнейшего сохранения, изменения в редакторе и т.д. Или я не понял что такое "стандартный механизм сериализации", в языках такого и не существует даже... Все механизмы сериализации разные, каждый удобен для своего.
[Serializable] - атрибут непосредственно для сериализации объектов в С#, без него компилятор при сериализации пошлет подальше. В Unity в инспекторе создан механизм отображать данные объектов доступных для сериализации - для отображения пользовательских типов данных. Например, простейший пример: У тебя рандомный спаунер врагов, которому нужно задавать Min и Max значение по времени, ты можешь воспользоваться типом Vector2 и заполнять x и y, а можешь создать структуру Range - диапазон, с атрибутом сериалиуемый, и полями мин и макс. И потом использовать для диапазонов не Vector2 , а Range. И в инспекторе заполнять мин и макс.
Обсуждают сегодня