示例#1
0
        ////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////

        #endregion

        #region //// Properties ////////

        ////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////

        #endregion

        #region //// Construstors //////

        ////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////

        #endregion

        #region //// Methods ///////////

        ////////////////////////////////////////////////////////////////////////////
        public static Container Load(Manager manager, string asset)
        {
            Container         win     = null;
            LayoutXmlDocument doc     = new LayoutXmlDocument();
            ArchiveManager    content = new ArchiveManager(manager.Services);

            try
            {
                content.RootDirectory = manager.LayoutDirectory;

        #if (!XBOX && !XBOX_FAKE)
                string file = content.RootDirectory + asset;

                if (File.Exists(file))
                {
                    doc.Load(file);
                }
                else
        #endif
                {
                    doc = content.Load <LayoutXmlDocument>(asset);
                }


                if (doc != null && doc["Layout"]["Controls"] != null && doc["Layout"]["Controls"].HasChildNodes)
                {
                    XmlNode node = doc["Layout"]["Controls"].GetElementsByTagName("Control").Item(0);
                    string  cls  = node.Attributes["Class"].Value;
                    Type    type = Type.GetType(cls);

                    if (type == null)
                    {
                        cls  = "TomShane.Neoforce.Controls." + cls;
                        type = Type.GetType(cls);
                    }

                    win = (Container)LoadControl(manager, node, type, null);
                }
            }
            finally
            {
                content.Dispose();
            }

            return(win);
        }
        ////////////////////////////////////////////////////////////////////////////    
        public static Container Load(Manager manager, string asset)
        {
            Container win = null;
              LayoutXmlDocument doc = new LayoutXmlDocument();
              ArchiveManager content = new ArchiveManager(manager.Game.Services);

              try
              {
            content.RootDirectory = manager.LayoutDirectory;

            #if (!XBOX && !XBOX_FAKE)

            string file = content.RootDirectory + asset + ".xml";

            if (File.Exists(file))
            {
              doc.Load(file);
            }
            else

            #endif
            {
              doc = content.Load<LayoutXmlDocument>(asset);
            }

            if (doc != null && doc["Layout"]["Controls"] != null && doc["Layout"]["Controls"].HasChildNodes)
            {
              XmlNode node = doc["Layout"]["Controls"].GetElementsByTagName("Control").Item(0);
              string cls = node.Attributes["Class"].Value;
              Type type = Type.GetType(cls);

              if (type == null)
              {
            cls = "TomShane.Neoforce.Controls." + cls;
            type = Type.GetType(cls);
              }

              win = (Container)LoadControl(manager, node, type, null);
            }

              }
              finally
              {
            content.Dispose();
              }

              return win;
        }