< Summary

Class:SmartItemSliderParameter
Assembly:BuilderInWorldEntityInformation
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/EntityInformation/SmartItems/Parameters/SmartItemSliderParameter.cs
Covered lines:0
Uncovered lines:31
Coverable lines:31
Total lines:89
Line coverage:0% (0 of 31)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetInfo()0%2100%
OnValueChange(...)0%2100%
SetSliderText(...)0%2100%
ConvertSliderValueToParameterValue(...)0%2100%
ConvertParameterValueToSliderValue(...)0%2100%
GetParameterValue()0%30500%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/EntityInformation/SmartItems/Parameters/SmartItemSliderParameter.cs

#LineLine coverage
 1using DCL.Components;
 2using System;
 3using System.Collections;
 4using System.Collections.Generic;
 5using System.Globalization;
 6using TMPro;
 7using UnityEngine;
 8using UnityEngine.UI;
 9
 10public class SmartItemSliderParameter : SmartItemUIParameterAdapter
 11{
 12    public TextMeshProUGUI valueTxt;
 13    public Slider sliderParameter;
 14
 15    private float amountOfSteps;
 16    private float minValue;
 17    private float maxValue;
 18    private float stepSum;
 19
 20    public override void SetInfo()
 21    {
 022        base.SetInfo();
 23
 024        minValue = float.Parse(currentParameter.min);
 025        maxValue = float.Parse(currentParameter.max);
 26
 027        stepSum = float.Parse(currentParameter.step, CultureInfo.InvariantCulture);
 28
 029        amountOfSteps = Mathf.RoundToInt((maxValue - minValue) / stepSum);
 30
 031        sliderParameter.minValue = 0;
 032        sliderParameter.maxValue = amountOfSteps;
 33
 034        int currentValue = ConvertParameterValueToSliderValue((float) GetParameterValue());
 35
 036        sliderParameter.value = currentValue;
 37
 038        SetSliderText(sliderParameter.value);
 39
 040        sliderParameter.onValueChanged.AddListener(OnValueChange);
 041    }
 42
 43    public void OnValueChange(float value)
 44    {
 045        SetSliderText(value);
 046        SetParameterValue(ConvertSliderValueToParameterValue(value));
 047    }
 48
 49    private void SetSliderText(float value)
 50    {
 051        float convertedValue = ConvertSliderValueToParameterValue(value);
 052        valueTxt.text = convertedValue.ToString();
 053    }
 54
 055    private float ConvertSliderValueToParameterValue(float value) { return minValue + value * stepSum; }
 56
 057    private int ConvertParameterValueToSliderValue(float value) { return (int)Mathf.Abs((value - minValue) / stepSum); }
 58
 59    protected override object GetParameterValue()
 60    {
 061        object value = base.GetParameterValue();
 62        float sliderValue;
 63
 064        float.TryParse(currentParameter.min, out sliderValue);
 65
 066        if (value is string stringValue)
 67        {
 068            if (!string.IsNullOrEmpty(stringValue))
 69            {
 070                if (float.TryParse(stringValue, out float defaultValue))
 071                    return defaultValue;
 72            }
 73            else
 74            {
 075                return sliderValue;
 76            }
 77        }
 078        else if (value is float sliderValueFloat)
 79        {
 080            return sliderValueFloat;
 81        }
 82        else
 83        {
 084            sliderValue = sliderParameter.minValue;
 85        }
 86
 087        return sliderValue;
 88    }
 89}