Exemple #1
0
            public override void Save(GameWriter writer, Element element, string attribute, object value, bool isFinal)
            {
                Element reference = (Element)value;

                if (writer.IsElementWritten(reference))
                {
                    base.WriteAttribute(writer, element, attribute, ((Element)value).MetaFields[MetaFieldDefinitions.MappedName], isFinal);
                }
                else
                {
                    writer.AddPostElementScript(element, string.Format("objectReferences.push([\"{0}\", \"{1}\", \"{2}\"]);",
                                                                       element.MetaFields[MetaFieldDefinitions.MappedName],
                                                                       attribute,
                                                                       reference.MetaFields[MetaFieldDefinitions.MappedName]));
                }
            }
Exemple #2
0
            public override void Save(GameWriter writer, Element element, string attribute, object value, bool isFinal)
            {
                QuestList <Element> list = (QuestList <Element>)value;

                if (list.Count == 0)
                {
                    // Just write a blank list
                    base.WriteAttribute(writer, element, attribute, "new Array()", isFinal);
                }

                foreach (Element item in list)
                {
                    writer.AddPostElementScript(element, string.Format(
                                                    "objectListReferences.push([\"object_{0}\", \"{1}\", \"object_{2}\"]);",
                                                    element.MetaFields[MetaFieldDefinitions.MappedName],
                                                    attribute,
                                                    item.Name));
                }
            }
Exemple #3
0
            public override void Save(GameWriter writer, Element element, string attribute, object value, bool isFinal)
            {
                QuestDictionary <Element> dictionary = (QuestDictionary <Element>)value;

                if (dictionary.Dictionary.Count == 0)
                {
                    // Just write a blank dictionary
                    base.WriteAttribute(writer, element, attribute, "new Object()", isFinal);
                }

                foreach (var item in dictionary.Dictionary)
                {
                    writer.AddPostElementScript(element, string.Format(
                                                    "objectDictionaryReferences.push([\"object_{0}\", \"{1}\", \"{2}\", \"object_{3}\"]);",
                                                    element.MetaFields[MetaFieldDefinitions.MappedName],
                                                    attribute,
                                                    item.Key,
                                                    item.Value.MetaFields[MetaFieldDefinitions.MappedName]));
                }
            }