public LinkedList<MoleculesSet> loadMoleculesFromFile(TextAsset filePath) { bool b = true; MoleculesSet moleculeSet; string setId; LinkedList<MoleculesSet> moleculesSets = new LinkedList<MoleculesSet>(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(filePath.text); XmlNodeList moleculesLists = xmlDoc.GetElementsByTagName("molecules"); foreach (XmlNode moleculesNode in moleculesLists) { setId = moleculesNode.Attributes["id"].Value; if (setId != "" && setId != null) { ArrayList molecules = new ArrayList(); b &= loadMolecules(moleculesNode, molecules); moleculeSet = new MoleculesSet(); moleculeSet.id = setId; moleculeSet.molecules = molecules; moleculesSets.AddLast(moleculeSet); } else { Debug.Log("Error : missing attribute id in reactions node"); b = false; } } return moleculesSets; }
/*! \brief Load Molecules from a MoleculesSet \param molSet The set to Load \param allMolecules The list of all the molecules */ public void initMoleculesFromMoleculesSets(MoleculesSet molSet, ArrayList allMolecules) { Molecule newMol; Molecule startingMolStatus; _molecules = new ArrayList(); foreach (Molecule mol in allMolecules) { newMol = new Molecule(mol); startingMolStatus = ReactionEngine.getMoleculeFromName(mol.getName(), molSet.molecules); if (startingMolStatus == null) newMol.setConcentration(0); else newMol.setConcentration(startingMolStatus.getConcentration()); _molecules.Add(newMol); } }