private void CreateSliderObjects()
 {
     bustSliderObject     = GameObject.Find("BustHandle").GetComponent <ModelSlider>();
     hipSliderObject      = GameObject.Find("HipHandle").GetComponent <ModelSlider>();
     waistSliderObject    = GameObject.Find("WaistHandle").GetComponent <ModelSlider>();
     shoulderSliderObject = GameObject.Find("ShoulderHandle").GetComponent <ModelSlider>();
     neckSliderObject     = GameObject.Find("NeckHandle").GetComponent <ModelSlider>();
 }
        private static float SetHandleValue(float minScale, float maxScale, ModelSlider handle, int currentValue)
        {
            //set range of values - min and max
            float minSize = handle.GetMinSize();
            float maxSize = handle.GetMaxSize();

            //Debug.Log(minSize + " for " + handle.name );
            //Debug.Log(maxSize + " for " + handle.name );

            var fraction = (currentValue - minSize) / (maxSize - minSize);
            var value    = minScale + fraction * (maxScale - minScale); //change scale

            return(value);
        }
        public void UpdateHandleValue(ModelSlider bustHandle, ModelSlider hipHandle, ModelSlider waistHandle, ModelSlider shoulderHandle,
                                      ModelSlider neckHandle, float minScale, float maxScale, float minShoulder, float maxShoulder)
        {
            foreach (var key in modelVariables)
            {
                var caseSwitch = key;

                switch (caseSwitch)
                {
                case "bust":
                    bustMeasurement = bustHandle.GetPositionValue();     //getters and setters
                    ScaleByValue(SetHandleValue(minScale, maxScale, bustHandle, bustMeasurement), bustBones);
                    break;

                case "hips":
                    hipsMeasurement = hipHandle.GetPositionValue();
                    ScaleByValue(SetHandleValue(minScale, maxScale, hipHandle, hipsMeasurement), hipBones);
                    break;

                case "waist":
                    waistMeasurement = waistHandle.GetPositionValue();
                    ScaleByValue(SetHandleValue(minScale, maxScale, waistHandle, waistMeasurement), waistBones);
                    break;

                case "shoulder":
                    shoulderMeasurement = shoulderHandle.GetPositionValue();
                    ScaleByValueShoulder(SetHandleValue(minShoulder, maxShoulder, shoulderHandle, shoulderMeasurement),
                                         SetHandleValue(-minShoulder, -maxShoulder, shoulderHandle, shoulderMeasurement), shoulderBones);
                    break;

                case "neck":
                    neckMeasurement = neckHandle.GetPositionValue();
                    ScaleByValue(SetHandleValue(minScale, maxScale, neckHandle, neckMeasurement), neckBones);
                    break;

                default:
                    Debug.Log("No available handle to scale");
                    break;
                }
            }
        }