示例#1
0
 public void Save(Element e, GameWriter writer)
 {
     string paramNames = string.Join(", ", e.Fields[FieldDefinitions.ParamNames]);
     paramNames = Utility.ReplaceReservedVariableNames(paramNames);
     writer.AddLine("function " + e.Name.Replace(" ", Utility.SpaceReplacementString) + "(" + paramNames + ")");
     writer.AddLine("{");
     writer.AddLine(e.Fields[FieldDefinitions.Script].Save());
     writer.AddLine("}");
 }
        public void Save(Element e, GameWriter writer)
        {
            string paramNames = string.Join(", ", e.Fields[FieldDefinitions.ParamNames]);

            paramNames = Utility.ReplaceReservedVariableNames(paramNames);
            writer.AddLine("function " + e.Name.Replace(" ", Utility.SpaceReplacementString) + "(" + paramNames + ")");
            writer.AddLine("{");
            var context = new Context();

            context.AddLocalVariable(e.Fields[FieldDefinitions.ParamNames].ToArray());
            writer.AddLine(e.Fields[FieldDefinitions.Script].Save(context));
            writer.AddLine("}");
        }
示例#3
0
        public void Save(Element e, GameWriter writer)
        {
            base.SaveElementFields(e.Name, e, writer);
            string postElementScript = writer.GetPostElementScript(e);

            if (postElementScript.Length > 0)
            {
                writer.AddLine(postElementScript);
            }
            if (allObjectsArray.ContainsKey(e.Type))
            {
                writer.AddLine(string.Format("{0}.push({1});", allObjectsArray[e.Type], e.MetaFields[MetaFieldDefinitions.MappedName]));
            }
            writer.AddLine(string.Format("objectsNameMap[\"{0}\"] = {1};", e.Name, e.MetaFields[MetaFieldDefinitions.MappedName]));
        }
示例#4
0
        public void Save(Element e, GameWriter writer)
        {
            string expression = e.Fields[FieldDefinitions.Function].Save(new Context());

            expression = Utility.ReplaceDynamicTemplateVariableNames(expression);
            writer.AddLine(string.Format("dynamicTemplates.{0} = function(params) {{ return {1}; }};", e.Name, expression));
        }
示例#5
0
 public void Save(Element e, GameWriter writer)
 {
     if (e.Fields[FieldDefinitions.TemplateName] == "EditorVerbDefaultExpression")
     {
         return;
     }
     writer.AddLine(string.Format("templates.t_{0} = \"{1}\"", e.Fields[FieldDefinitions.TemplateName], e.Fields[FieldDefinitions.Text].Replace("\n", "").Replace("\r", "")));
 }
示例#6
0
            protected void WriteAttribute(GameWriter writer, Element element, string attribute, string value, bool isFinal)
            {
                if (attribute.Contains(" "))
                {
                    attribute = attribute.Replace(" ", Utility.SpaceReplacementString);
                }

                writer.AddLine(string.Format("\"{0}\": {1}{2}", attribute, value, isFinal ? "" : ","));
            }
示例#7
0
        protected void SaveElementFields(string name, Element e, GameWriter writer)
        {
            string mappedName = e.MetaFields[MetaFieldDefinitions.MappedName];

            writer.AddLine(mappedName + " = {");
            e.Fields.Set("_js_name", mappedName);
            e.Fields.Set("_types", new QuestList <string>(e.Fields.TypeNames));

            int count  = 0;
            int length = e.Fields.FieldNames.Count();

            foreach (string field in e.Fields.FieldNames)
            {
                count++;
                object value = ConvertField(e, field, e.Fields.Get(field));
                fieldSaver.Save(writer, e, field, value, count == length);
            }

            writer.AddLine("};");
            writer.AddLine(string.Format("elementsNameMap[\"{0}\"] = {1};", e.Name, e.MetaFields[MetaFieldDefinitions.MappedName]));
            writer.MarkElementWritten(e);
        }
示例#8
0
        protected void SaveElementFields(string name, Element e, GameWriter writer)
        {
            string mappedName = e.MetaFields[MetaFieldDefinitions.MappedName];

            writer.AddLine(mappedName + " = {");
            e.Fields.Set("_js_name", mappedName);
            e.Fields.Set("_types", new QuestList<string>(e.Fields.TypeNames));

            int count = 0;
            int length = e.Fields.FieldNames.Count();

            foreach (string field in e.Fields.FieldNames)
            {
                count++;
                object value = ConvertField(e, field, e.Fields.Get(field));
                fieldSaver.Save(writer, e, field, value, count == length);
            }

            writer.AddLine("};");
            writer.AddLine(string.Format("elementsNameMap[\"{0}\"] = {1};", e.Name, e.MetaFields[MetaFieldDefinitions.MappedName]));
            writer.MarkElementWritten(e);
        }
示例#9
0
 public void Save(Element e, GameWriter writer)
 {
     base.SaveElementFields(e.Name, e, writer);
     writer.AddLine(string.Format("allTimers.push({0});", e.MetaFields[MetaFieldDefinitions.MappedName]));
     writer.AddLine(string.Format("objectsNameMap[\"{0}\"] = {1};", e.Name, e.MetaFields[MetaFieldDefinitions.MappedName]));
 }
示例#10
0
 public void Save(Element e, GameWriter writer)
 {
     string expression = e.Fields[FieldDefinitions.Function].Save();
     expression = Utility.ReplaceDynamicTemplateVariableNames(expression);
     writer.AddLine(string.Format("dynamicTemplates.{0} = function(params) {{ return {1}; }};", e.Name, expression));
 }
示例#11
0
 public void Save(Element e, GameWriter writer)
 {
     base.SaveElementFields(e.Name, e, writer);
     writer.AddLine(string.Format("allTimers.push({0});", e.MetaFields[MetaFieldDefinitions.MappedName]));
     writer.AddLine(string.Format("objectsNameMap[\"{0}\"] = {1};", e.Name, e.MetaFields[MetaFieldDefinitions.MappedName]));
 }
示例#12
0
 public void Save(Element e, GameWriter writer)
 {
     if (e.Fields[FieldDefinitions.TemplateName] == "EditorVerbDefaultExpression") return;
     writer.AddLine(string.Format("templates.t_{0} = \"{1}\"", e.Fields[FieldDefinitions.TemplateName], e.Fields[FieldDefinitions.Text].Replace("\n", "").Replace("\r", "")));
 }
示例#13
0
 public void Save(Element e, GameWriter writer)
 {
     base.SaveElementFields(e.Name, e, writer);
     string postElementScript = writer.GetPostElementScript(e);
     if (postElementScript.Length > 0) writer.AddLine(postElementScript);
     if (allObjectsArray.ContainsKey(e.Type))
     {
         writer.AddLine(string.Format("{0}.push({1});", allObjectsArray[e.Type], e.MetaFields[MetaFieldDefinitions.MappedName]));
     }
     writer.AddLine(string.Format("objectsNameMap[\"{0}\"] = {1};", e.Name, e.MetaFields[MetaFieldDefinitions.MappedName]));
 }