public override void WriteJson(JsonTextWriter writer, WritingOptions writingOptions)
        {
            writer.WriteStartObject();

            if (Math.Abs(R) > 0f)
            {
                writer.WriteField("r", R);
            }

            if (Math.Abs(G) > 0f)
            {
                writer.WriteField("g", G);
            }

            if (Math.Abs(B) > 0f)
            {
                writer.WriteField("b", B);
            }

            if (Math.Abs(A) > 0f)
            {
                writer.WriteField("a", A);
            }

            writer.WriteEndObject();
        }
Beispiel #2
0
        public void WriteJson(JsonTextWriter writer, WritingOptions writingOptions)
        {
            if (writingOptions.Compact)
            {
                writer.WritePropertyName($"{Name}{(Index != 0 ? ":" + Index : string.Empty)}");
                writeJsonValue(writer, writingOptions);
                return;
            }

            writer.WriteStartObject();

            writer.WriteField("name", Name.ToString());
            writer.WriteField("type", Type.ToString());
            if (isDataSizeNeeded && DataSize != 0)
            {
                writer.WriteField("size", DataSize);
            }

            if (Index != 0)
            {
                writer.WriteField("index", Index);
            }

            writeJsonValue(writer, writingOptions);

            writer.WriteEndObject();
        }
Beispiel #3
0
        public override void WriteJson(JsonTextWriter writer, WritingOptions writingOptions)
        {
            writer.WriteStartObject();

            if (B != 0)
            {
                writer.WriteField("b", B);
            }

            if (G != 0)
            {
                writer.WriteField("g", G);
            }

            if (R != 0)
            {
                writer.WriteField("r", R);
            }

            if (A != 0)
            {
                writer.WriteField("a", A);
            }

            writer.WriteEndObject();
        }
        public override void WriteJson(JsonTextWriter generator, WritingOptions writingOptions)
        {
            generator.WriteStartObject();

            generator.WriteField("unk", Unk);
            generator.WriteField("netId", NetId);

            generator.WriteEndObject();
        }
Beispiel #5
0
        public override void WriteJson(JsonTextWriter generator, WritingOptions writingOptions)
        {
            generator.WriteStartObject();

            if (Math.Abs(X) > 0f)
            {
                generator.WriteField("x", X);
            }
            if (Math.Abs(Y) > 0f)
            {
                generator.WriteField("y", Y);
            }

            generator.WriteEndObject();
        }
Beispiel #6
0
        public void WriteJson(JsonTextWriter generator, WritingOptions writingOptions)
        {
            generator.WriteStartObject();

            generator.WriteField("tribeVersion", TribeVersion);
            generator.WritePropertyName("tribe");
            if (Tribe != null)
            {
                Tribe.WriteJson(generator, writingOptions);
            }
            else
            {
                generator.WriteNull();
            }

            if (Objects.Count > (Tribe == null ? 0 : 1))
            {
                generator.WriteArrayFieldStart("objects");
                foreach (GameObject gameObject in Objects.Where(o => o != Tribe))
                {
                    gameObject.WriteJson(generator, writingOptions);
                }

                generator.WriteEndArray();
            }

            generator.WriteEndObject();
        }
        public void WriteJson(JsonTextWriter writer, WritingOptions writingOptions)
        {
            //JsonSerializer.CreateDefault().Serialize(writer, this);
            writer.WriteStartObject();

            writer.WriteField("x", X);
            writer.WriteField("y", Y);
            writer.WriteField("z", Z);
            writer.WriteField("unkByte", UnkByte);
            writer.WriteField("unkFloat", UnkFloat);

            writer.WriteArrayFieldStart("zones");
            foreach (ArkName zone in ZoneVolumes)
            {
                writer.WriteValue(zone.ToString());
            }
            writer.WriteEndArray();

            writer.WriteArrayFieldStart("objects");
            foreach (GameObject gameObject in Objects)
            {
                gameObject.WriteJson(writer, writingOptions);
            }
            writer.WriteEndArray();

            writer.WriteField("unkInt1", UnkInt1);
            writer.WriteField("classIndex", ClassIndex);

            writer.WriteEndObject();
        }
 protected override void writeJsonValue(JsonTextWriter generator, WritingOptions writingOptions)
 {
     if (!writingOptions.Compact)
     {
         generator.WriteField("arrayType", Value.Type.ToString());
         generator.WritePropertyName("value");
     }
     Value.WriteJson(generator, writingOptions);
 }
Beispiel #9
0
        protected override void writeJsonValue(JsonTextWriter generator, WritingOptions writingOptions)
        {
            if (!writingOptions.Compact)
            {
                generator.WriteField("structType", structType.ToString());

                generator.WritePropertyName(Value is StructUnknown ? "unknown" : "value");
            }
            Value.WriteJson(generator, writingOptions);
        }
Beispiel #10
0
 protected virtual void writeJsonValue(JsonTextWriter writer, WritingOptions writingOptions)
 {
     if (writingOptions.Compact)
     {
         writer.WriteValue(Value);
     }
     else
     {
         writer.WriteField("value", Value);
     }
 }
Beispiel #11
0
        public void WriteJson(JsonTextWriter writer, WritingOptions writingOptions)
        {
            switch (ObjectType)
            {
            case TypeId:
                writer.WriteValue(ObjectId);
                break;

            case TypePath:
                writer.WriteValue(ObjectString.ToString());
                break;

            case TypePathNoType:
                writer.WriteStartObject();
                writer.WriteField("value", ObjectString.ToString());
                writer.WriteField("short", true);
                writer.WriteEndObject();
                break;
            }
        }
Beispiel #12
0
 protected override void writeJsonValue(JsonTextWriter writer, WritingOptions writingOptions)
 {
     if (writingOptions.Compact)
     {
         writer.WriteValue(Value.ToString());
     }
     else
     {
         writer.WriteField("value", Value.ToString());
     }
 }
 public void WriteJson(JsonTextWriter writer)
 {
     writer.WriteStartObject();
     if (Math.Abs(X) > 0f)
     {
         writer.WriteField("x", X);
     }
     if (Math.Abs(Y) > 0f)
     {
         writer.WriteField("y", Y);
     }
     if (Math.Abs(Z) > 0f)
     {
         writer.WriteField("z", Z);
     }
     if (Math.Abs(Pitch) > 0f)
     {
         writer.WriteField("pitch", Pitch);
     }
     if (Math.Abs(Yaw) > 0f)
     {
         writer.WriteField("yaw", Yaw);
     }
     if (Math.Abs(Roll) > 0f)
     {
         writer.WriteField("roll", Roll);
     }
     writer.WriteEndObject();
 }
Beispiel #14
0
        public void WriteJson(JsonTextWriter generator, WritingOptions writingOptions)
        {
            generator.WriteStartObject();

            generator.WriteField("className", className);

            if (Properties.Any())
            {
                generator.WriteArrayFieldStart("properties");

                foreach (IProperty property in Properties)
                {
                    property.WriteJson(generator, writingOptions);
                }

                generator.WriteEndArray();
            }

            generator.WriteEndObject();
        }
        public void WriteJson(JsonTextWriter writer)
        {
            //JsonSerializer.CreateDefault().Serialize(writer, this);
            writer.WriteStartObject();

            writer.WriteField("path", Path);

            writer.WriteArrayFieldStart("data");
            foreach (byte[][] baa in Data)
            {
                writer.WriteStartArray();
                foreach (byte[] ba in baa)
                {
                    writer.WriteValue(ba);
                }
                writer.WriteEndArray();
            }
            writer.WriteEndArray();

            writer.WriteEndObject();
        }
Beispiel #16
0
 protected override void writeJsonValue(JsonTextWriter generator, WritingOptions writingOptions)
 {
     if (EnumType != ArkName.NameNone)
     {
         if (writingOptions.Compact)
         {
             generator.WriteValue(EnumType.ToString());
         }
         else
         {
             generator.WriteField("enum", EnumType.ToString());
         }
     }
     else
     {
         if (!writingOptions.Compact)
         {
             generator.WritePropertyName("value");
         }
         Value.WriteJson(generator);
     }
 }
        /// <inheritdoc />
        /// <summary>
        /// Writes this class as json using <code>generator</code>.
        /// This method is valid only in an array context or in no context (see <see cref="M:Newtonsoft.Json.JsonTextWriter.WriteStartObject" />.
        /// Requires the current objects list to be correctly sorted, otherwise the written
        /// <see cref="T:SavegameToolkit.Types.ObjectReference" /> might be broken.
        /// </summary>
        /// <param name="writer"><see cref="T:Newtonsoft.Json.JsonTextWriter" /> to write with</param>
        /// <param name="writingOptions"></param>
        public void WriteJson(JsonTextWriter writer, WritingOptions writingOptions)
        {
            writer.WriteStartObject();

            writer.WriteField("saveVersion", SaveVersion);
            writer.WriteField("gameTime", GameTime);

            writer.WriteField("saveCount", SaveCount);

            if (!writingOptions.Compact && OldNameList != null && OldNameList.Any())
            {
                writer.WriteArrayFieldStart("preservedNames");

                foreach (string oldName in OldNameList)
                {
                    writer.WriteValue(oldName);
                }

                writer.WriteEndArray();
            }

            if (!writingOptions.Compact && DataFiles.Any())
            {
                writer.WriteArrayFieldStart("dataFiles");

                foreach (string dataFile in DataFiles)
                {
                    writer.WriteValue(dataFile);
                }

                writer.WriteEndArray();
            }

            if (!writingOptions.Compact && EmbeddedData.Any())
            {
                writer.WriteArrayFieldStart("embeddedData");

                foreach (EmbeddedData data in EmbeddedData)
                {
                    data.WriteJson(writer);
                }

                writer.WriteEndArray();
            }

            if (DataFilesObjectMap.Any())
            {
                writer.WriteObjectFieldStart("dataFilesObjectMap");

                foreach (KeyValuePair <int, List <string[]> > entry in DataFilesObjectMap)
                {
                    writer.WriteArrayFieldStart(entry.Key.ToString());
                    foreach (string[] namesList in entry.Value)
                    {
                        writer.WriteStartArray();
                        foreach (string name in namesList)
                        {
                            writer.WriteValue(name);
                        }

                        writer.WriteEndArray();
                    }

                    writer.WriteEndArray();
                }

                writer.WriteEndObject();
            }

            if (Objects.Any())
            {
                writer.WriteArrayFieldStart("objects");

                foreach (GameObject gameObject in Objects)
                {
                    gameObject.WriteJson(writer, writingOptions);
                }

                writer.WriteEndArray();
            }

            writer.WriteObjectFieldStart("hibernation");

            if (!writingOptions.Compact)
            {
                writer.WriteField("v8Unknown1", hibernationV8Unknown1);
                writer.WriteField("v8Unknown2", hibernationV8Unknown2);
                writer.WriteField("v8Unknown3", hibernationV8Unknown3);
                writer.WriteField("v8Unknown4", hibernationV8Unknown4);

                writer.WriteField("unknown1", hibernationUnknown1);
                writer.WriteField("unknown2", hibernationUnknown2);
            }

            if (!writingOptions.Compact && hibernationClasses.Any())
            {
                writer.WriteArrayFieldStart("classes");

                foreach (string hibernationClass in hibernationClasses)
                {
                    writer.WriteValue(hibernationClass);
                }

                writer.WriteEndArray();
            }

            if (!writingOptions.Compact && hibernationIndices.Any())
            {
                writer.WriteArrayFieldStart("indices");

                foreach (int hibernationIndex in hibernationIndices)
                {
                    writer.WriteValue(hibernationIndex);
                }

                writer.WriteEndArray();
            }

            if (HibernationEntries.Any())
            {
                writer.WriteArrayFieldStart("entries");

                foreach (HibernationEntry hibernationEntry in HibernationEntries)
                {
                    hibernationEntry.WriteJson(writer, writingOptions);
                }

                writer.WriteEndArray();
            }

            writer.WriteEndObject();

            writer.WriteEndObject();
        }