void PropertyEnumChange <T>(SerializedProperty prop, OnPropertyChange <T> onEnumChange) { PropertyChange(prop, p => { var enumStr = p.enumNames[p.enumValueIndex]; var enumVal = (T)Enum.Parse(typeof(T), enumStr); onEnumChange(enumVal); }); }
void PropertyChange(SerializedProperty prop, OnPropertyChange <SerializedProperty> onPropChange) { EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(prop); if (EditorGUI.EndChangeCheck()) { onPropChange(prop); } }
public void NotifyPropertyChange(string propertyName) { OnPropertyChange?.Invoke(propertyName, this); }
public DefaultHandlerProperty(IDefaultHandler handler, OnPropertyChange <IDefaultHandler> onChange) { this.handler = handler; this.onChange = onChange; }
protected PropertyImpl(OnPropertyChange <T> onChange, T defaultValue) { this.onChange = onChange; this.propValue = defaultValue; }
protected virtual void PropertyChange(OWLOSPropertyWrapperEventArgs e) { OnPropertyChange?.Invoke(this, e); }
/// <summary> /// Called by CPropery (which inherits from this) to signal a value change /// </summary> /// <param name="_previous">The previous value for the property</param> /// <param name="_new">The value that the property WILL have</param> protected void SignalPropertyChanged(object _previous, object _new) => OnPropertyChange?.Invoke(m_parentObject, m_propertyName, _previous, _new);