internal Mesh fromXml(string pointer) { string name = pointer.Replace(gameWindow.modelFolder, ""); if (!meshesNames.ContainsKey(name)) { Mesh curMesh = new Mesh(); curMesh.type = Mesh.Type.colladaManaged; //curMesh.pointer = pointer; curMesh.identifier = meshes.Count; curMesh.name = name; curMesh.animationData = new List<AnimationData> { }; XmlTextReader reader = new XmlTextReader(pointer); while (reader.Read()) { if (reader.Name == "mesh") while (reader.MoveToNextAttribute()) { if (reader.Name == "source") curMesh.pointer = reader.Value; } if (reader.Name == "animation") while (reader.MoveToNextAttribute()) { if (reader.Name == "source") { AnimationData tmpAni = new AnimationData(); tmpAni.pointer = gameWindow.modelFolder + reader.Value; tmpAni.name = reader.Value; curMesh.animationData.Add(tmpAni); } } if (reader.Name == "fps" && reader.NodeType != XmlNodeType.EndElement) { reader.Read(); curMesh.animationFps = GenericMethods.FloatFromString(reader.Value); } } meshesNames.Add(curMesh.name, curMesh.identifier); meshes.Add(curMesh); return curMesh; } else { return getMesh(name); } }
internal Mesh fromXml(string pointer) { string name = pointer.Replace(gameWindow.modelFolder, ""); if (!meshesNames.ContainsKey(name)) { Mesh curMesh = new Mesh(); curMesh.type = Mesh.Type.colladaManaged; //curMesh.pointer = pointer; curMesh.identifier = meshes.Count; curMesh.name = name; curMesh.animationData = new List <AnimationData> { }; XmlTextReader reader = new XmlTextReader(pointer); while (reader.Read()) { if (reader.Name == "mesh") { while (reader.MoveToNextAttribute()) { if (reader.Name == "source") { curMesh.pointer = reader.Value; } } } if (reader.Name == "animation") { while (reader.MoveToNextAttribute()) { if (reader.Name == "source") { AnimationData tmpAni = new AnimationData(); tmpAni.pointer = gameWindow.modelFolder + reader.Value; tmpAni.name = reader.Value; curMesh.animationData.Add(tmpAni); } } } if (reader.Name == "fps" && reader.NodeType != XmlNodeType.EndElement) { reader.Read(); curMesh.animationFps = GenericMethods.FloatFromString(reader.Value); } } meshesNames.Add(curMesh.name, curMesh.identifier); meshes.Add(curMesh); return(curMesh); } else { return(getMesh(name)); } }