public static void Mapin() { Console.WriteLine("Main - ball animation"); ObjectFrame application = new ObjectFrame(); Application.Run(application); System.Console.WriteLine("Main - End of the Main()"); }
public Objects(string FileName, string PackageName = "") { if (FileName.FileExists() == false) { throw new System.IO.FileNotFoundException(FileName); } BaseDirectory = FileName.GetDirectoryFromFileLocation(); XElement xelement = XElement.Load(FileName); this.Name = xelement.Element("name").Value; this.AuthorName = xelement.Element("author").Value; this.ID = xelement.Element("id").Value; this.Description = xelement.Element("description").Value; this.UpdateDate = xelement.Element("date").Value; this.DisplayName = xelement.Element("displayname").Value; this.PackageName = PackageName; IEnumerable <XElement> Objects = xelement.Elements().Where(x => x.Name.ToString() == "object"); foreach (var Object in Objects) { ObjectInfo _NewObject = new ObjectInfo(); _NewObject.ID = Object.Element("id").Value; _NewObject.Name = Object.Element("name").Value; _NewObject.Description = Object.Element("description").Value; _NewObject.DisplayName = Object.Element("displayname").Value; _NewObject.FileName = Object.Element("filename").Value; _NewObject.FrameDelay = Object.Element("framedelay").Value.ToInt(0); _NewObject.SoundName = Object.Element("sound").Value; _NewObject.Image = new CompressibleImage(System.Drawing.Image.FromFile(this.BaseDirectory.EnsureDirectoryFormat() + _NewObject.FileName), System.Drawing.Imaging.ImageFormat.Png); var DrawingRec = Object.Element("staticsource").Value.ToRectangle(); if (DrawingRec == System.Drawing.Rectangle.Empty) { _NewObject.StaticSource = Microsoft.Xna.Framework.Rectangle.Empty; LoadErrors.Add(this.Name, "Invalid Static Source"); } else { _NewObject.StaticSource = new Microsoft.Xna.Framework.Rectangle(DrawingRec.X, DrawingRec.Y, DrawingRec.Width, DrawingRec.Height); } foreach (var ObjectFrame in Objects.Elements().Where(x => x.Name.ToString() == "frames").Elements().Where(x => x.Name.ToString() == "frame")) { ObjectAnimationFrame _NewFrame = new ObjectAnimationFrame(); _NewFrame.ID = ObjectFrame.Element("id").Value.ToInt(0); _NewFrame.Name = ObjectFrame.Element("name").Value; _NewFrame.NextID = ObjectFrame.Element("nextid").Value.ToInt(0); _NewFrame.Delay = ObjectFrame.Element("delay").Value.ToInt(0); var DrawingRec2 = Object.Element("staticsource").Value.ToRectangle(); if (DrawingRec2 == System.Drawing.Rectangle.Empty) { _NewFrame.Source = Microsoft.Xna.Framework.Rectangle.Empty; LoadErrors.Add(_NewObject.Name + " " + _NewFrame.ID.ToString(), "Invalid Frame Source"); } else { _NewFrame.Source = new Microsoft.Xna.Framework.Rectangle(DrawingRec2.X, DrawingRec2.Y, DrawingRec2.Width, DrawingRec2.Height); } _NewObject.AnimationFrames.Add(_NewFrame); } AllObjects.Add(_NewObject.Name, _NewObject); } }