private List <Vector2> ExtractBillboards(XmlElement bills, bool vertical) { XmlElement verticalBills = bills; List <Vector2> allUv = new List <Vector2>(); if (vertical) { foreach (XmlElement node in verticalBills.ChildNodes) { XmlElement elem = node; bool rotated = bool.Parse(elem.GetAttribute("Rotated")); Log.i("Rotated: " + rotated); string[] u = node["TexcoordU"].InnerText.Trim().Split(' '); string[] v = node["TexcoordV"].InnerText.Trim().Split(' '); Log.i("UV data: " + TUtils.ToString(u) + " " + TUtils.ToString(v)); if (v.Length != u.Length || v.Length != 4) { Debug.LogError("Something bad went parsing: " + u + " " + v); continue; } List <Vector2> uv = new List <Vector2>(); for (int j = 0; j < u.Length; j++) { uv.Add(new Vector2(float.Parse(u[j]), float.Parse(v[j]))); } Log.i("Extracted uv: " + TUtils.ToString(uv)); allUv.AddRange(uv); } } else { string[] u = bills["TexcoordU"].InnerText.Trim().Split(' '); string[] v = bills["TexcoordV"].InnerText.Trim().Split(' '); Log.i("UV data: " + TUtils.ToString(u) + " " + TUtils.ToString(v)); if (v.Length != u.Length || v.Length != 4) { Debug.LogError("Something bad went parsing: " + u + " " + v); } List <Vector2> uv = new List <Vector2>(); for (int j = 0; j < u.Length; j++) { uv.Add(new Vector2(float.Parse(u[j]), float.Parse(v[j]))); } Log.i("Extracted uv: " + TUtils.ToString(uv)); allUv.AddRange(uv); } return(allUv); }