public void SetWeight(float weight)
 {
     for (int i = 0; i < this.m_FProperties.Count; i++)
     {
         ParametersInterpolatorData <float> parametersInterpolatorData = this.m_FProperties[i];
         float proportional = CJTools.Math.GetProportional(parametersInterpolatorData.m_DefaultValue, parametersInterpolatorData.m_TargetValue, weight, 0f, 1f);
         if (parametersInterpolatorData.m_DataType == ParameterInterpolatorDataType.Field && parametersInterpolatorData != null && parametersInterpolatorData.m_FieldInfo != null && parametersInterpolatorData.m_Object != null)
         {
             parametersInterpolatorData.m_FieldInfo.SetValue(parametersInterpolatorData.m_Object, proportional);
         }
         else if (parametersInterpolatorData != null && parametersInterpolatorData.m_PropertyInfo != null && parametersInterpolatorData.m_Object != null)
         {
             parametersInterpolatorData.m_PropertyInfo.SetValue(parametersInterpolatorData.m_Object, proportional);
         }
     }
 }
 public void SetupData()
 {
     if (this.m_ComponentName.Length < 1)
     {
         return;
     }
     this.m_FProperties.Clear();
     for (int i = 0; i < this.m_FFieldNames.Count; i++)
     {
         object obj = base.GetComponent(this.m_ComponentName);
         if (obj == null)
         {
             return;
         }
         FieldInfo    fieldInfo    = null;
         PropertyInfo propertyInfo = null;
         string       text         = this.m_FFieldNames[i];
         if (text.Contains(";"))
         {
             string[] array = text.Split(new char[]
             {
                 ';'
             });
             for (int j = 0; j < array.Length; j++)
             {
                 fieldInfo = obj.GetType().GetField(array[j]);
                 if (!(fieldInfo == null))
                 {
                     object value = fieldInfo.GetValue(obj);
                     if (!value.IsNumber())
                     {
                         obj = value;
                     }
                 }
             }
         }
         else
         {
             fieldInfo = obj.GetType().GetField(text);
             if (fieldInfo == null)
             {
                 MemberInfo[] member = obj.GetType().GetMember(text);
                 if (member != null)
                 {
                     foreach (MemberInfo memberInfo in member)
                     {
                         if (memberInfo.MemberType == MemberTypes.Property)
                         {
                             propertyInfo = (PropertyInfo)memberInfo;
                         }
                     }
                 }
             }
         }
         if ((!(fieldInfo == null) || !(propertyInfo == null)) && ((fieldInfo != null && fieldInfo.FieldType == typeof(float)) || (propertyInfo != null && propertyInfo.PropertyType == typeof(float))))
         {
             if (i >= this.m_FFieldValues.Count)
             {
                 this.m_FFieldValues.Add(0f);
             }
             ParametersInterpolatorData <float> parametersInterpolatorData = new ParametersInterpolatorData <float>();
             if (fieldInfo != null)
             {
                 parametersInterpolatorData.m_DefaultValue = (float)fieldInfo.GetValue(obj);
             }
             else if (propertyInfo != null)
             {
                 parametersInterpolatorData.m_DefaultValue = (float)propertyInfo.GetValue(obj);
             }
             parametersInterpolatorData.m_FieldInfo    = fieldInfo;
             parametersInterpolatorData.m_PropertyInfo = propertyInfo;
             parametersInterpolatorData.m_Object       = obj;
             parametersInterpolatorData.m_TargetValue  = this.m_FFieldValues[i];
             if (propertyInfo != null)
             {
                 parametersInterpolatorData.m_DataType = ParameterInterpolatorDataType.Property;
             }
             this.m_FProperties.Add(parametersInterpolatorData);
         }
     }
 }