public static InputFieldView LinkToModel(this InputFieldView self, string val, Action <string> onNewVal) { if (val != null) { self.input.text = val; } self.AddOnValueChangedActionThrottled(onNewVal); return(self); }
public static void AddOnValueChangedActionThrottled(this InputFieldView self, Action <string> onValueChanged) { ChangeTracker <string> changeTracker = new ChangeTracker <string>(null); self.input.AddOnValueChangedActionThrottled(newValue => { if (self.IsDestroyed()) { return; } var regexValidator = self.GetComponent <RegexValidator>(); if (regexValidator != null && !regexValidator.CheckIfCurrentInputValid()) { return; } if (changeTracker.SetNewValue(newValue)) { onValueChanged(newValue); } }); }