Exemplo n.º 1
0
        public static bool Initialize(DirectoryInfo directory, out string reason)
        {
            if (_initalized)
            {
                reason = null;
                return(true);
            }
            Sprites = new Dictionary <string, BaseSprite>();
            string file             = Path.Combine(directory.FullName, "sprites.xml");
            string graphicDirectory = Path.Combine(directory.FullName, "graphics");

            if (!File.Exists(file))
            {
                reason = "Sprites.xml file does not exist";
                return(false);
            }

            XDocument doc  = XDocument.Load(file);
            XElement  root = doc.Element("Sprites");

            foreach (XElement sprite in root.Elements())
            {
                var newSprite = new BaseSprite();
                if (!newSprite.LoadSprite(sprite, graphicDirectory, out reason))
                {
                    return(false);
                }
                Sprites.Add(newSprite.Name, newSprite);
            }
            _initalized = true;
            reason      = null;
            return(true);
        }