public VirusInfo?Next() { if (!isEmpty) { string Info; (Info, nameIndex) = RetrieveNextString(database.Names, nameIndex); var virusName = Info; (Info, deathRateIndex) = RetrieveNextString(database.DeathRates, deathRateIndex); var deathRate = RetrieveNumber(Info); (Info, infectionRateIndex) = RetrieveNextString(database.InfectionRates, infectionRateIndex); var infectionRate = RetrieveNumber(Info); (Info, genomeIdIndex) = RetrieveNextString(database.GenomeIds, genomeIdIndex); var genomeId = Guid.Parse(Info); var virusInfo = new VirusInfo(virusName, deathRate, infectionRate, genomeId); return(virusInfo); } else { return(null); } }
public VirusInfo?Next() { if (i < virusDatas.Count) { var virusInfo = new VirusInfo(virusDatas[i].VirusName, virusDatas[i].DeathRate, virusDatas[i].InfectionRate, virusDatas[i].GenomeId); i++; return(virusInfo); } else { return(null); } }
public VirusInfo?Next() { if (nodeStack.Count != 0) { var currentNode = nodeStack.Pop(); var childNodes = currentNode.Children; foreach (var Node in childNodes) { nodeStack.Push(Node); } var virusInfo = new VirusInfo(currentNode.VirusName, currentNode.DeathRate, currentNode.InfectionRate, currentNode.GenomeTag); return(virusInfo); } else { return(null); } }