Esempio n. 1
0
        public void LoadFrame(string[] names,string pdata,int number)
        {
            FrameRectangle newrect= new FrameRectangle();
            string[] data = pdata.Split('_');
            string[] rects = data[0].Split(':');
            keyframenumber = number;
            if (rects.Length >= names.Length)
            {
                for (int i = 0; i < names.Length; i++)
                {
                    try
                    {
                        newrect.LoadFromData(rects[i]);

                        rectangles.Add(names[i], newrect);
                    }
                    catch
                    {

                    }
                }
                if (data.Length > 1)
                {
                    int x, y, width, height;
                    string[] killdata = data[1].Split(',');
                    if (killdata.Length >= 8)
                    {
                        Rectangle killRect;
                        x = int.Parse(killdata[0]);
                        y = int.Parse(killdata[1]);
                        width = int.Parse(killdata[2]);
                        height = int.Parse(killdata[3]);
                        killRect = new Rectangle(x, y, width, height);
                        KillingRect = new SpecialRect(killRect);

                        x = int.Parse(killdata[4]);
                        y = int.Parse(killdata[5]);
                        width = int.Parse(killdata[6]);
                        height = int.Parse(killdata[7]);
                        killRect = new Rectangle(x, y, width, height);
                        DieRect = new SpecialRect(killRect);
                    }
                    else
                    {
                        KillingRect = new SpecialRect(new Rectangle(0,0,10,10));
                        DieRect = new SpecialRect(new Rectangle(0,0,10,10));
                    }
                }
                else
                {
                    KillingRect = new SpecialRect(new Rectangle(0, 0, 10, 10));
                    DieRect = new SpecialRect(new Rectangle(0, 0, 10, 10));
                }
            }
            else
            {
                FileManager.WriteInErrorLog(this, "Es sind zu wenig FrameRectangle Daten vorhanden um alle Rectangles zu füllen");
                throw new ArgumentException("Es sind zu wenig FrameRectangle Daten vorhanden um alle Rectangles zu füllen");
            }
        }