示例#1
0
        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);
        }
示例#2
0
        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);
        }