Ejemplo n.º 1
0
            public override object Load(XmlReader reader, ref Element current)
            {
                string file = null;

                try
                {
                    file = GameLoader.GetTemplateAttribute(reader, "ref");
                    if (file.Length == 0)
                    {
                        return(null);
                    }
                    string    path      = WorldModel.GetExternalPath(file);
                    XmlReader newReader = XmlReader.Create(path);
                    return(LoadIncludeElement(path, file, newReader));
                }
                catch (IncludeFileMissingException ifme)
                {
                    try
                    {
                        XmlReader newReader = WorldModel.CreateXmlReader(ifme.missingInclude);
                        return(LoadIncludeElement(ifme.missingInclude, file, newReader));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.ToString());
                        return(null);
                    }
                }
            }
Ejemplo n.º 2
0
            public override object Load(XmlReader reader, ref Element current)
            {
                Element jsRef = ElementFactory.CreateElement(ElementType.Javascript, ElementFactory.GetUniqueID());

                jsRef.Fields[FieldDefinitions.Anonymous] = true;
                string file = GameLoader.GetTemplateAttribute(reader, "src");

                jsRef.Fields[FieldDefinitions.Src] = file;
                return(jsRef);
            }
Ejemplo n.º 3
0
            public override object Load(XmlReader reader, ref Element current)
            {
                Element resourceRef = WorldModel.GetElementFactory(ElementType.Resource).Create();

                resourceRef.Fields[FieldDefinitions.Anonymous] = true;
                string file = GameLoader.GetTemplateAttribute(reader, "src");

                resourceRef.Fields[FieldDefinitions.Src] = file;

                return(resourceRef);
            }
Ejemplo n.º 4
0
            public override object Load(XmlReader reader, ref Element current)
            {
                Element jsRef = WorldModel.GetElementFactory(ElementType.Javascript).Create();

                jsRef.Fields[FieldDefinitions.Anonymous] = true;
                string file = GameLoader.GetTemplateAttribute(reader, "src");

                if (file.Length == 0)
                {
                    return(null);
                }
                if (WorldModel.Version == WorldModelVersion.v500)
                {
                    // Quest 5.0 would incorrectly save a full path name. We only want the filename.
                    file = System.IO.Path.GetFileName(file);
                }

                jsRef.Fields[FieldDefinitions.Src] = file;

                return(jsRef);
            }
Ejemplo n.º 5
0
            public override object Load(XmlReader reader, ref Element current)
            {
                string file = GameLoader.GetTemplateAttribute(reader, "ref");

                if (file.Length == 0)
                {
                    return(null);
                }
                string    path      = WorldModel.GetExternalPath(file);
                XmlReader newReader = XmlReader.Create(path);

                while (newReader.NodeType != XmlNodeType.Element && !newReader.EOF)
                {
                    newReader.Read();
                }
                if (newReader.Name != "library")
                {
                    RaiseError(string.Format("Included file '{0}' is not a library", file));
                }
                LoadXML(path, newReader);
                return(LoadInternal(file));
            }