public static void AddValueChangeListener(string propertyName, Action callback) { if (PropertiesManager.cachedProperties != null) { ManagedProperty managedProperty = null; if (PropertiesManager.cachedProperties.TryGetValue(propertyName, out managedProperty)) { managedProperty.Initialize(); managedProperty.AddValueChangeListener(callback); } else { Debug.LogError("[PropertiesManager] Property not defined: " + propertyName); } } }
public override void Initialize(Component owner) { base.Initialize(owner); if (base.isSetter) { base.RegisterBind(this.valSetterSource.databind); } else { base.RegisterBindWithCallbacks(this.valSetterSource.databind); } if (!base.isSetter) { this.p = PropertiesManager.GetProperty(this.propertyName); ManagedProperty obj = this.p; if (obj != null) { obj.AddValueChangeListener(this.OnPropertyValueChange); } } }