in ExpressionBuilder/ExpressionBuilder/ExpressionNodes/ExpressionBuilder.ExpressionNode.cs [315:368]
internal void SetAllParameters(CompositionAnimation anim)
{
// Make sure the list is populated
EnsureReferenceInfo();
foreach (var refInfo in _objRefList)
{
anim.SetReferenceParameter(refInfo.ParameterName, refInfo.CompObject);
}
foreach (var constParam in _constParamMap)
{
if (constParam.Value.GetType() == typeof(bool))
{
anim.SetBooleanParameter(constParam.Key, (bool)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(float))
{
anim.SetScalarParameter(constParam.Key, (float)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(Vector2))
{
anim.SetVector2Parameter(constParam.Key, (Vector2)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(Vector3))
{
anim.SetVector3Parameter(constParam.Key, (Vector3)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(Vector4))
{
anim.SetVector4Parameter(constParam.Key, (Vector4)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(Color))
{
anim.SetColorParameter(constParam.Key, (Color)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(Quaternion))
{
anim.SetQuaternionParameter(constParam.Key, (Quaternion)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(Matrix3x2))
{
anim.SetMatrix3x2Parameter(constParam.Key, (Matrix3x2)constParam.Value);
}
else if (constParam.Value.GetType() == typeof(Matrix4x4))
{
anim.SetMatrix4x4Parameter(constParam.Key, (Matrix4x4)constParam.Value);
}
else
{
throw new Exception($"Unexpected constant parameter datatype ({constParam.Value.GetType()})");
}
}
}