public static ICellRW <T> ToCellWrapp <T>(this IValueRW <T> val) { Cell <T> c = new Cell <T>(val.value); c.ListenUpdates(v => val.value = v); return(c); }
public DebugLayout ValueSlider(FieldPresentSettings name, float min, float max, IValueRW <float> val, bool wholeNumbers = false, DebugLayoutOptions opts = default(DebugLayoutOptions)) { var slider = NamedElementOrLayouted <Slider>(name, factory.slider, opts); slider.minValue = min; slider.maxValue = max; slider.wholeNumbers = wholeNumbers; slider.value = val.value; var input = slider.GetComponentInChildren <InputField>(); input.text = val.value.ToString(); input.onValueChanged.AddListener(i => { slider.value = float.Parse(i); val.value = slider.value; }); slider.onValueChanged.AddListener(i => { val.value = i; input.text = i.ToString(); }); return(this); }
public DebugLayout InputField(FieldPresentSettings name, IValueRW <string> val) { var input = NamedElementOrLayouted <InputField>(name, factory.stringInputPrefab); input.text = val.value; input.onValueChanged.AddListener(i => { val.value = i; }); return(this); }
public DebugLayout Toggle(FieldPresentSettings name, IValueRW <bool> value) { var obj = InstantiateInLayout(factory.buttonTogglePrefab).GetComponentInChildren <Toggle>(); obj.GetComponentInChildren <Text>().text = name.name; obj.isOn = value.value; obj.onValueChanged.AddListener(new UnityAction <bool>(i => { value.value = i; })); return(this); }
public DebugLayout NumberSelector(FieldPresentSettings name, IValueRW <float> value, DebugMenuFloatRange range = null, DebugLayoutOptions opts = default(DebugLayoutOptions)) { var attr = range; if (attr != null) { var input = ValueSlider(name, attr.min, attr.max, value, false, opts); } else { var input = NamedElementOrLayouted <InputField>(name, factory.stringInputPrefab, opts); input.contentType = UnityEngine.UI.InputField.ContentType.DecimalNumber; input.text = value.value.ToString(); input.onValueChanged.AddListener(new UnityAction <string>(i => value.value = float.Parse(i))); } return(this); }
public static IValueRW <float> ToFloat(this IValueRW <int> val) { return(val.MapValue(i => (float)i, f => (int)f)); }
public DebugLayout ValueSlider(FieldPresentSettings name, int min, int max, IValueRW <int> val, DebugLayoutOptions opts = default(DebugLayoutOptions)) { return(ValueSlider(name, min, max, val.MapValue(i => (float)i, f => (int)f), true, opts)); }
public void Show(IValueRW <int> value) { this.value = value; text.text = value.value.ToString(); }