AGS.Plugin.Lua.LuaScriptFolderInfo.UpdateFromXml C# (CSharp) Метод

UpdateFromXml() публичный Метод

public UpdateFromXml ( XmlElement element ) : void
element System.Xml.XmlElement
Результат void
        public void UpdateFromXml(XmlElement element)
        {
            foreach (LuaScriptFolderInfo folder in SubFolders.Values)
            {
                XmlElement folderElement = element.SelectSingleNode("LuaScriptFolder[@name=\"" + folder.dir.Name.ToLower() + "\"]") as XmlElement;
                if (folderElement != null)
                {
                    folder.UpdateFromXml(folderElement);
                }
            }
            foreach (LuaScriptFileInfo script in Scripts.Values)
            {
                XmlElement fileElement = element.SelectSingleNode("LuaScriptFile[@name=\"" + script.file.Name.ToLower() + "\"]") as XmlElement;
                if (fileElement != null)
                {
                    script.UpdateFromXml(fileElement);
                }
            }
        }

Usage Example

 void IEditorComponent.RefreshDataFromGame()
 {
     MainForm = Application.OpenForms[0];
     // Copy to new list because something else may be modifying editPanes in another thread(?)
     foreach (LuaScriptEditPane pane in new List<LuaScriptEditPane>(editPanes.Values))
     {
         editor.GUIController.RemovePaneIfExists(pane.contentDocument);
     }
     editPanes.Clear();
     if (IsPluginEnabled)
     {
         scripts.Clear();
         compileTimeScripts.Clear();
         ClearScriptFolders();
         rootScriptFolder = new LuaScriptFolderInfo(this, null, new DirectoryInfo(lscriptsdir));
         rootScriptFolder.EnsureExistence();
         RefreshProjectTree();
         if (restoredScriptsInfo != null)
         {
             rootScriptFolder.UpdateFromXml(restoredScriptsInfo);
             restoredScriptsInfo = null;
         }
         if (restoredCompileScripts != null)
         {
             foreach (string key in restoredCompileScripts)
             {
                 LuaScriptFileInfo script;
                 if (scripts.TryGetValue(key, out script))
                 {
                     compileTimeScripts.Add(script);
                 }
                 else
                 {
                     MessageBox.Show("Cannot find script " + key + " for Compile-Time Action");
                 }
             }
             restoredCompileScripts = null;
         }
         RefreshCompileTimeScripts();
     }
 }