public SoftwareMaterial(RMX_Material material)
{
Name = material.Name;
// textures
Textures = new Dictionary<string,string>();
Values1 = new Dictionary<string,float>();
Values2 = new Dictionary<string,Vector2>();
Values3 = new Dictionary<string,Vector3>();
Values4 = new Dictionary<string,Vector4>();
foreach (var input in material.Inputs)
{
if (input.Type == "Value")
{
switch (input.Values.Length)
{
case 1: Values1.Add(input.ID, input.Values[0]); break;
case 2: Values2.Add(input.ID, new Vector2(input.Values[0], input.Values[1])); break;
case 3: Values3.Add(input.ID, new Vector3(input.Values[0], input.Values[1], input.Values[2])); break;
case 4: Values4.Add(input.ID, new Vector4(input.Values[0], input.Values[1], input.Values[2], input.Values[3])); break;
}
}
else if (input.Type == "Texture")
{
Textures.Add(input.ID, input.Content);
}
}
}