public override void SetTarget(GameObject new_target)
 {
     if ((Object)new_target == (Object)null)
     {
         Debug.LogError("Invalid gameObject received");
     }
     else
     {
         target = new_target.GetComponent <IUserControlledCapacity>();
         if (target == null)
         {
             Debug.LogError("The gameObject received does not contain a IThresholdSwitch component");
         }
         else
         {
             slider.minValue = target.MinCapacity;
             slider.maxValue = target.MaxCapacity;
             slider.value    = target.UserMaxCapacity;
             slider.GetComponentInChildren <ToolTip>();
             unitsLabel.text          = target.CapacityUnits;
             numberInput.minValue     = target.MinCapacity;
             numberInput.maxValue     = target.MaxCapacity;
             numberInput.currentValue = Mathf.Max(target.MinCapacity, Mathf.Min(target.MaxCapacity, target.UserMaxCapacity));
             numberInput.Activate();
             UpdateMaxCapacityLabel();
         }
     }
 }
 private void Start()
 {
     inputField.minValue     = 0f;
     inputField.maxValue     = (float)MAX_VALUE;
     inputField.currentValue = (float)SaveGame.Instance.minGermCountForDisinfect;
     inputField.SetDisplayValue(SaveGame.Instance.minGermCountForDisinfect.ToString());
     inputField.onEndEdit += delegate
     {
         ReceiveValueFromInput(inputField.currentValue);
     };
     inputField.decimalPlaces = 1;
     inputField.Activate();
     slider.minValue         = 0f;
     slider.maxValue         = (float)(MAX_VALUE / SLIDER_CONVERSION);
     slider.wholeNumbers     = true;
     slider.value            = (float)(SaveGame.Instance.minGermCountForDisinfect / SLIDER_CONVERSION);
     slider.onReleaseHandle += OnReleaseHandle;
     slider.onDrag          += delegate
     {
         ReceiveValueFromSlider(slider.value);
     };
     slider.onPointerDown += delegate
     {
         ReceiveValueFromSlider(slider.value);
     };
     slider.onMove += delegate
     {
         ReceiveValueFromSlider(slider.value);
         OnReleaseHandle();
     };
     unitsLabel.SetText(UI.OVERLAYS.DISEASE.DISINFECT_THRESHOLD_DIAGRAM.UNITS);
     minLabel.SetText(UI.OVERLAYS.DISEASE.DISINFECT_THRESHOLD_DIAGRAM.MIN_LABEL);
     maxLabel.SetText(UI.OVERLAYS.DISEASE.DISINFECT_THRESHOLD_DIAGRAM.MAX_LABEL);
     thresholdPrefix.SetText(UI.OVERLAYS.DISEASE.DISINFECT_THRESHOLD_DIAGRAM.THRESHOLD_PREFIX);
     toolTip.OnToolTip = delegate
     {
         toolTip.ClearMultiStringTooltip();
         if (SaveGame.Instance.enableAutoDisinfect)
         {
             toolTip.AddMultiStringTooltip(UI.OVERLAYS.DISEASE.DISINFECT_THRESHOLD_DIAGRAM.TOOLTIP.ToString().Replace("{NumberOfGerms}", SaveGame.Instance.minGermCountForDisinfect.ToString()), null);
         }
         else
         {
             toolTip.AddMultiStringTooltip(UI.OVERLAYS.DISEASE.DISINFECT_THRESHOLD_DIAGRAM.TOOLTIP_DISABLED.ToString(), null);
         }
         return(string.Empty);
     };
     disabledImage.gameObject.SetActive(!SaveGame.Instance.enableAutoDisinfect);
     toggle.isOn            = SaveGame.Instance.enableAutoDisinfect;
     toggle.onValueChanged += OnClickToggle;
 }
Пример #3
0
 public override void SetTarget(GameObject new_target)
 {
     if ((Object)new_target == (Object)null)
     {
         Debug.LogError("Invalid gameObject received");
     }
     else
     {
         target = new_target.GetComponent <IActivationRangeTarget>();
         if (target == null)
         {
             Debug.LogError("The gameObject received does not contain a IActivationRangeTarget component");
         }
         else
         {
             activateLabel.text   = target.ActivateSliderLabelText;
             deactivateLabel.text = target.DeactivateSliderLabelText;
             activateValueLabel.Activate();
             deactivateValueLabel.Activate();
             activateValueSlider.onValueChanged.RemoveListener(OnActivateValueChanged);
             activateValueSlider.minValue     = target.MinValue;
             activateValueSlider.maxValue     = target.MaxValue;
             activateValueSlider.value        = target.ActivateValue;
             activateValueSlider.wholeNumbers = target.UseWholeNumbers;
             activateValueSlider.onValueChanged.AddListener(OnActivateValueChanged);
             activateValueLabel.SetDisplayValue(target.ActivateValue.ToString());
             activateValueLabel.onEndEdit += delegate
             {
                 float result2 = target.ActivateValue;
                 float.TryParse(activateValueLabel.field.text, out result2);
                 OnActivateValueChanged(result2);
                 activateValueSlider.value = result2;
             };
             deactivateValueSlider.onValueChanged.RemoveListener(OnDeactivateValueChanged);
             deactivateValueSlider.minValue     = target.MinValue;
             deactivateValueSlider.maxValue     = target.MaxValue;
             deactivateValueSlider.value        = target.DeactivateValue;
             deactivateValueSlider.wholeNumbers = target.UseWholeNumbers;
             deactivateValueSlider.onValueChanged.AddListener(OnDeactivateValueChanged);
             deactivateValueLabel.SetDisplayValue(target.DeactivateValue.ToString());
             deactivateValueLabel.onEndEdit += delegate
             {
                 float result = target.DeactivateValue;
                 float.TryParse(deactivateValueLabel.field.text, out result);
                 OnDeactivateValueChanged(result);
                 deactivateValueSlider.value = result;
             };
             RefreshTooltips();
         }
     }
 }
Пример #4
0
        private static void SetupInputs(NonLinearSlider slider, KNumberInputField input, NonLinearSlider.Range[] sliderRanges, float inputMin, float inputMax, int inputDecimals, Action <float> onUpdate, Func <float, float> convertSlider, Func <float, float> convertInput)
        {
            slider.onDrag        += () => onUpdate(convertSlider(slider.GetValueForPercentage(slider.value)));
            slider.onPointerDown += () => onUpdate(convertSlider(slider.GetValueForPercentage(slider.value)));
            slider.onMove        += () => onUpdate(convertSlider(slider.GetValueForPercentage(slider.value)));
            slider.minValue       = 0;
            slider.maxValue       = 100;
            slider.SetRanges(sliderRanges);

            input.onEndEdit    += () => onUpdate(convertInput(input.currentValue));
            input.decimalPlaces = inputDecimals;
            input.minValue      = inputMin;
            input.maxValue      = inputMax;
            input.Activate();
        }
Пример #5
0
    public void SetTarget(ISliderControl target)
    {
        this.target = target;
        ToolTip component = valueSlider.handleRect.GetComponent <ToolTip>();

        if ((UnityEngine.Object)component != (UnityEngine.Object)null)
        {
            component.SetSimpleTooltip(target.GetSliderTooltip());
        }
        unitsLabel.text           = target.SliderUnits;
        minLabel.text             = target.GetSliderMin(index) + target.SliderUnits;
        maxLabel.text             = target.GetSliderMax(index) + target.SliderUnits;
        numberInput.minValue      = target.GetSliderMin(index);
        numberInput.maxValue      = target.GetSliderMax(index);
        numberInput.decimalPlaces = target.SliderDecimalPlaces(index);
        valueSlider.minValue      = target.GetSliderMin(index);
        valueSlider.maxValue      = target.GetSliderMax(index);
        valueSlider.value         = target.GetSliderValue(index);
        SetValue(target.GetSliderValue(index));
        if (index == 0)
        {
            numberInput.Activate();
        }
    }