public static LayerHolder Parse(ref StreamReader stream) { LayerHolder l = new LayerHolder(); string[] str1 = stream.ReadLine().Split(','); if (str1[0].Contains("empty")) { return(l); } l.index = str1[0].Split(':')[0].Replace("Layer", ""); l.name = str1[0].Split(':')[1]; l.begin = str1[1]; l.end = str1[2]; for (int i = 0; i < 5; i++) { l.numThings[i] = str1[i + 3]; } int num1 = int.Parse(str1[3]); for (int i = 0; i < num1; i++) { l.Content.Add(LayerContent.Parse(stream.ReadLine(), LayerContent.ContentType.Batch)); } num1 = int.Parse(str1[4]); for (int i = 0; i < num1; i++) { l.Content.Add(LayerContent.Parse(stream.ReadLine(), LayerContent.ContentType.Laser)); } num1 = int.Parse(str1[5]); for (int i = 0; i < num1; i++) { l.Content.Add(LayerContent.Parse(stream.ReadLine(), LayerContent.ContentType.Cover)); } num1 = int.Parse(str1[6]); for (int i = 0; i < num1; i++) { l.Content.Add(LayerContent.Parse(stream.ReadLine(), LayerContent.ContentType.Rebound)); } num1 = int.Parse(str1[7]); for (int i = 0; i < num1; i++) { l.Content.Add(LayerContent.Parse(stream.ReadLine(), LayerContent.ContentType.Force)); } l.View = new LayerView(l); return(l); }
public static LayerContent Parse(string batch, ContentType type) { LayerContent b = new LayerContent(); string[] str = batch.Split(','); b.fields = new string[74]; int i; for (i = 0; i < str.Length; i++) { b.fields[i] = str[i]; } for (; i < str.Length; i++) { b.fields[i] = "False"; } b.Type = type; switch (b.Type) { case ContentType.Batch: default: b.View = new BatchView(b); break; case ContentType.Laser: b.View = new LaserView(b); break; case ContentType.Cover: b.View = new CoverView(b); break; case ContentType.Rebound: b.View = new ReboundView(b); break; case ContentType.Force: b.View = new ForceView(b); break; } return(b); }