Beyond_Beyaan.Data_Managers.SpriteManager.Initialize C# (CSharp) Method

Initialize() public static method

public static Initialize ( DirectoryInfo directory, string &reason ) : bool
directory System.IO.DirectoryInfo
reason string
return bool
        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;
        }