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; }
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(); } } }
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(); }
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(); } }