public InputBehaviorInfo(InputBehavior inputBehavior, UIControlSet controlSet, Dictionary<int, PropertyType> idToProperty) {
     this._inputBehavior = inputBehavior;
     this._controlSet = controlSet;
     this.idToProperty = idToProperty;
     copyOfOriginal = new InputBehavior(inputBehavior);
 }
        private UISliderControl CreateSlider(UIControlSet set, int inputBehaviorId, string defaultTitle, string overrideTitle, Sprite icon, float minValue, float maxValue, System.Action<int, int, float> valueChangedCallback, System.Action<int, int> cancelCallback) {
            // Create slider control
            UISliderControl control = set.CreateSlider(
                uiSliderControlPrefab,
                icon,
                minValue,
                maxValue,
                (int cId, float value) => { valueChangedCallback(inputBehaviorId, cId, value); },
                (int cId) => { cancelCallback(inputBehaviorId, cId); }
            );

            // Title
            string title = string.IsNullOrEmpty(overrideTitle) ? defaultTitle : overrideTitle;
            if(!string.IsNullOrEmpty(title)) {
                control.showTitle = true;
                control.title.text = title;
            } else {
                control.showTitle = false;
            }

            // Icon
            control.showIcon = icon != null;

            return control;
        }