Ejemplo n.º 1
0
            public override object Load(XmlReader reader, ref Element current)
            {
                Dictionary <string, string> data = GameLoader.GetRequiredAttributes(reader, m_required);

                GameLoader.m_implicitTypes.Add(data["element"], data["property"], data["type"]);
                return(LoadInternal(data["element"], data["property"], data["type"]));
            }
Ejemplo n.º 2
0
            private Element AddDelegate(XmlReader reader)
            {
                Dictionary <string, string> data = GameLoader.GetRequiredAttributes(reader, RequiredAttributes);
                Element del = WorldModel.AddDelegate(data["name"]);

                SetupProcedure(del, data["type"], GameLoader.GetTemplateContents(reader), data["name"], data["parameters"]);
                return(del);
            }
Ejemplo n.º 3
0
            private Element AddProcedure(XmlReader reader)
            {
                Dictionary <string, string> data = GameLoader.GetRequiredAttributes(reader, RequiredAttributes);
                Element proc = ElementFactory.CreateFunction(data["name"]);

                SetupProcedure(proc, data["type"], GameLoader.GetTemplateContents(reader), data["name"], data["parameters"]);
                return(proc);
            }
Ejemplo n.º 4
0
            protected object Load(XmlReader reader, ref Element current, string defaultName)
            {
                Dictionary <string, string> data = GameLoader.GetRequiredAttributes(reader, m_requiredAttributes);

                string pattern  = data["pattern"];
                string name     = data["name"];
                string template = data["template"];

                bool anonymous = false;

                if (string.IsNullOrEmpty(name))
                {
                    name = defaultName;
                }
                if (string.IsNullOrEmpty(name))
                {
                    anonymous = true;
                    name      = GetUniqueCommandID(pattern);
                }

                Element newCommand = WorldModel.ObjectFactory.CreateCommand(name);

                if (anonymous)
                {
                    newCommand.Fields[FieldDefinitions.Anonymous] = true;
                }

                if (current != null)
                {
                    newCommand.Parent = (Element)current;
                }

                if (pattern != null)
                {
                    newCommand.Fields[FieldDefinitions.Pattern] = pattern;
                }

                if (template != null)
                {
                    LoadTemplate(newCommand, template);
                }

                string unresolved = data["unresolved"];

                if (!string.IsNullOrEmpty(unresolved))
                {
                    newCommand.Fields[FieldDefinitions.Unresolved] = unresolved;
                }

                return(newCommand);
            }