private MenuLoadXMLMapData GetLevelObjValues(XmlReader _reader, MapDataObjType _type) { MenuLoadXMLMapData _temp = new MenuLoadXMLMapData(); _temp.Type = _type; float _rot = 0f; while (_reader.Read()) { if (_reader.IsStartElement()) { switch (_reader.Name) { case "Position": _temp.Position = new Vector3(float.Parse(_reader.GetAttribute("x"), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign), float.Parse(_reader.GetAttribute("y"), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign), float.Parse(_reader.GetAttribute("z"), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign)); break; case "Rotation": if (_reader.AttributeCount > 0) { _rot = float.Parse(_reader.GetAttribute("y"), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign); } else { _reader.Read(); _rot = float.Parse(_reader.Value, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign); } break; case "Scale": _temp.Scale.x = float.Parse(_reader.GetAttribute("x"), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign); _temp.Scale.y = float.Parse(_reader.GetAttribute("y"), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign); _temp.Scale.z = float.Parse(_reader.GetAttribute("z"), NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign); break; } } } _temp.Rotation = new Quaternion(0f, _rot, 0f, 0f); /* Debug.Log("MenuLoadLevelsFromXML - GetLevelObjValues - Position: " + _temp.Position); * Debug.Log("MenuLoadLevelsFromXML - GetLevelObjValues - Rotation: " + _temp.Rotation); * Debug.Log("MenuLoadLevelsFromXML - GetLevelObjValues - Scale: " + _temp.Scale); * Debug.Log("MenuLoadLevelsFromXML - GetLevelObjValues - Type: " + _temp.Type);*/ return(_temp); }
public List <MenuLoadXMLMapData> GetLevelObjs(int _levelUrlNum) { List <MenuLoadXMLMapData> _temps = new List <MenuLoadXMLMapData>(); if (!CheckXML(FileUrls[_levelUrlNum])) { return(_temps); } XmlReader reader = XmlReader.Create(FileUrls[_levelUrlNum]); while (reader.Read()) { switch (reader.Name) { case "PlayerStart": MenuLoadXMLMapData _newDataPlay = GetLevelObjValues(reader.ReadSubtree(), MapDataObjType.Play); _temps.Add(_newDataPlay); break; case "Goal": MenuLoadXMLMapData _newDataEndT = GetLevelObjValues(reader.ReadSubtree(), MapDataObjType.EndT); _temps.Add(_newDataEndT); break; case "Platform": MenuLoadXMLMapData _newDataLevl = GetLevelObjValues(reader.ReadSubtree(), MapDataObjType.Levl); _temps.Add(_newDataLevl); break; case "Tower": MenuLoadXMLMapData _newDataTowr = GetLevelObjValues(reader.ReadSubtree(), MapDataObjType.Towr); _temps.Add(_newDataTowr); break; case "Target": MenuLoadXMLMapData _newDataTarg = GetLevelObjValues(reader.ReadSubtree(), MapDataObjType.Targ); _temps.Add(_newDataTarg); break; } } reader.Close(); return(_temps); }