public static void DrawControl(this FieldControl <int> control)
        {
            IntegerField input = control.AddIntField(control.value);

            control.eventManager.AddListener <ListItemInputChange>(e => {
                if (e.input != input)
                {
                    return;
                }
                control.value = input.value;
                control.eventManager.Raise <FieldControlUpdated <int> >(new FieldControlUpdated <int>(control));
            });
        }
        public static void DrawControl(this FieldControl <ushort> control)
        {
            IntegerField input = control.AddIntField(control.value);

            control.eventManager.AddListener <ListItemInputChange>(e => {
                if (e.input != input)
                {
                    return;
                }
                if (input.value < 0)
                {
                    input.value = 0;
                }
                if (input.value > ushort.MaxValue)
                {
                    input.value = ushort.MaxValue;
                }
                control.value = (ushort)input.value;
                control.eventManager.Raise <FieldControlUpdated <ushort> >(new FieldControlUpdated <ushort>(control));
            });
        }