public static object FromVector3(object obj, DocNode value) { DocNodeType parsedType = value.Type; if (parsedType == DocNodeType.Scalar) // Vector3, 3 => new Vector3(3,3, 3); { float single = value.AsFloat(); return(new Vector3(single, single, single)); } else // Vector3, [1,2,3] => new Vector2(1,2,3); { float v1 = value[0].AsFloat(); float v2 = v1; float v3 = v1; if (value.Count > 1) { v2 = value[1].AsFloat(); v3 = 0; } if (value.Count > 2) { v3 = value[2].AsFloat(); } return(new Vector3(v1, v2, v3)); } }
public static object FromVector2(object obj, DocNode value) { DocNodeType parsedType = value.Type; if (parsedType == DocNodeType.Scalar) // Vector2, 3 => new Vector2(3,3); { var single = value.AsFloat(); return(new Vector2(single, single)); } else // Vector2, [1,2] => new Vector2(1,2); { float v1 = value[0].AsFloat(); float v2 = v1; if (value.Count > 1) { v2 = value[1].AsFloat(); } return(new Vector2(v1, v2)); } }