К основному контенту

Unity: грязный редактор OnValidate



Оказывается, есть такой метод OnValidate, который вызывается при изменениях в инспекторе. Иногда, чтобы не городить продвинутый редактор можно использовать для быстрого редактирования объекта. Например, по изменению параметра подменять меш или материал, и тд.



Хак конечно грязный, но при быстром прототипировании, или ели есть необходимость создать несколько карт не тратя времени на редактор «И так сойдет!».


# if UNITY_EDITOR    
    void OnValidate()
    {
        if (!Application.isPlaying)
            ChangeBlock(blockID, rightID, arrowID);
    }
#endif

В данном случае, когда меняем параметры тип блока, угол поворота, тип стрелки - меняются меши. Только в редакторе и только не при проигрывании.

Комментарии