private void SetFromValue() { Type type = refValue.GetType(); if (type == typeof(CatVector3)) { CatVector3 value = (CatVector3)refValue; fromValue = value.ParameterClone(); } else if (type == typeof(CatVector2)) { CatVector2 value = (CatVector2)refValue; fromValue = value.ParameterClone(); } else if (type == typeof(CatFloat)) { CatFloat value = (CatFloat)refValue; fromValue = value.ParameterClone(); } else if (type == typeof(CatInteger)) { CatInteger value = (CatInteger)refValue; fromValue = value.ParameterClone(); } }
private void SetFromAndToValue(object ToValue) { Type type = ToValue.GetType(); if (type == typeof(CatVector3)) { CatVector3 value = (CatVector3)ToValue; toValue = value.ParameterClone(); } else if (type == typeof(CatVector2)) { CatVector2 value = (CatVector2)ToValue; toValue = value.ParameterClone(); } else if (type == typeof(CatFloat)) { CatFloat value = (CatFloat)ToValue; toValue = value.ParameterClone(); } else if (type == typeof(CatInteger)) { CatInteger value = (CatInteger)ToValue; toValue = value.ParameterClone(); } }
private void UpdateValue() { Type type = refValue.GetType(); if (type == typeof(CatVector3)) { // delta CatVector3 _fromValue = (CatVector3)fromValue; CatVector3 _toValue = (CatVector3)toValue; CatVector3 delta = _toValue - _fromValue; // set value CatVector3 value = (CatVector3)refValue; float percent = (float)curTick / totalTick; value.SetValue(_fromValue.GetValue() + delta.GetValue() * GetCurveValue(percent)); } else if (type == typeof(CatVector2)) { //delta CatVector2 _fromValue = (CatVector2)fromValue; CatVector2 _toValue = (CatVector2)toValue; CatVector2 delta = _toValue - _fromValue; // set value CatVector2 value = (CatVector2)refValue; float percent = (float)curTick / totalTick; value.SetValue(_fromValue.GetValue() + delta.GetValue() * GetCurveValue(percent)); } else if (type == typeof(CatFloat)) { // delta float _fromValue = ((CatFloat)fromValue); float _toValue = ((CatFloat)toValue); float delta = _toValue - _fromValue; // set value CatFloat value = (CatFloat)refValue; value.SetValue(_fromValue + delta * GetCurveValue((float)curTick / totalTick)); } else if (type == typeof(CatInteger)) { // delta int _fromValue = ((CatInteger)fromValue); int _toValue = ((CatInteger)toValue); int delta = _toValue - _fromValue; // set value CatInteger value = (CatInteger)refValue; value.SetValue(_fromValue + (int)(delta * GetCurveValue((float)curTick / totalTick))); } }