Exemple #1
0
        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);
    }
Exemple #6
0
 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));
 }
Exemple #8
0
 public void Show(IValueRW <int> value)
 {
     this.value = value;
     text.text  = value.value.ToString();
 }