samana писал(а):Trifov писал(а):использую EditorGUI.BeginChangeCheck(); для отслеживания изменений в полях. есть что-то подобное, но чтобы работало и в едиторе и в плей модах?
Если вам нужно отслеживать изменения членов экземпляра класса, то используйте свойства.
EditorGUI.BeginChangeCheck это просто удобная штука для отслеживания изменений в инспекторе или окне. Она ни как напрямую не связана с тем, что в классе поменялись какие-то значения.
а можно пример?
я делаю так:
Синтаксис:
Используется csharp
EditorGUI.BeginChangeCheck();
_brushesCount = EditorGUILayout.DelayedIntField(_brushesCount);
if (EditorGUI.EndChangeCheck()){
if (_brushesCount != _brushes.Count){
if (_brushesCount > _brushes.Count){
while (_brushes.Count < _brushesCount)
_brushes.Add(new BrushPopup(new BiomUtility.BiomBrush()));
} else {
_brushes.RemoveRange(_brushesCount, _brushes.Count - _brushesCount);
}
}
}
_brushesCount = EditorGUILayout.DelayedIntField(_brushesCount);
if (EditorGUI.EndChangeCheck()){
if (_brushesCount != _brushes.Count){
if (_brushesCount > _brushes.Count){
while (_brushes.Count < _brushesCount)
_brushes.Add(new BrushPopup(new BiomUtility.BiomBrush()));
} else {
_brushes.RemoveRange(_brushesCount, _brushes.Count - _brushesCount);
}
}
}