protected override void Prepare() { this.parser = new PrototypeParser(PrototypeParser.CreateXMLSerializer("UnityTK.Editor.Benchmarking")); StringBuilder sb = new StringBuilder(); sb.AppendLine("<PrototypeContainer>"); sb.AppendLine(" <SimplePrototype Id=\"Base\">\n" + " <someInt>32</someInt>\n"+ " </SimplePrototype>"); for (int i = 0; i < 10000; i++) { sb.Append(" <SimplePrototype Id=\"Test"); sb.Append(i.ToString()); sb.AppendLine("\" Inherits=\"Base\">"); sb.AppendLine(" <someInt>123</someInt>"); sb.AppendLine(" </SimplePrototype>"); } sb.AppendLine("</PrototypeContainer>"); this.xml = sb.ToString(); }
protected override List <IManagedAsset> LoadAssets() { var parser = new PrototypeParser(PrototypeParser.CreateXMLSerializer(standardNamespace)); foreach (var p in this.paths) { string path = p.Replace(StreamingAssetsToken, Application.streamingAssetsPath); // Load data var files = System.IO.Directory.GetFiles(path, "*.xml", System.IO.SearchOption.AllDirectories); string[] contents = files.Select((f) => System.IO.File.ReadAllText(f)).ToArray(); parser.Parse(contents, files); } var prototypes = parser.GetPrototypes(); var errors = parser.GetParsingErrors(); foreach (var error in errors) { error.DoUnityDebugLog(); } return(prototypes.Where((p) => p is IManagedPrototype).Cast <IManagedAsset>().ToList()); }
protected virtual ISerializer CreateSerializer() { return(PrototypeParser.CreateXMLSerializer("UnityTK.Test.Serialization")); }