Пример #1
0
    public static bool Prefix_Deserialize(ProtobufSerializerPrecompiled __instance, int num, object obj, ProtoReader reader, ref object __result)
    {
        bool shouldnotcontinue;

        __result = AlternativeSerializer.Deserialize(num, obj, reader, __instance, out shouldnotcontinue);
        return(!shouldnotcontinue);
    }
Пример #2
0
    public static bool Prefix_Serialize(ProtobufSerializerPrecompiled __instance, int num, object obj, ProtoWriter writer)
    {
        bool shouldnotcontinue;

        AlternativeSerializer.Serialize(num, obj, writer, __instance, out shouldnotcontinue);
        return(!shouldnotcontinue);
    }
    public void Serialize(object obj, ProtoWriter writer, ProtobufSerializerPrecompiled model)
    {
        var scale = obj as ScaleFixer;

        ProtoWriter.WriteFieldHeader(1, WireType.String, writer);
        var token = ProtoWriter.StartSubItem(null, writer);

        AlternativeSerializer.PrecompSerialize(model, AlternativeSerializer.PrecompGetKey(model, typeof(Vector3)), scale.scale, writer);
        ProtoWriter.EndSubItem(token, writer);
    }
    public object Deserialize(object obj, ProtoReader reader, ProtobufSerializerPrecompiled model)
    {
        var scale = obj as ScaleFixer;

        reader.ReadFieldHeader();
        var token = ProtoReader.StartSubItem(reader);

        scale.scale = (Vector3)AlternativeSerializer.PrecompDeserialize(model, AlternativeSerializer.PrecompGetKey(model, typeof(Vector3)), scale.scale, reader);
        ProtoReader.EndSubItem(token, reader);
        return(scale);
    }
 public static void Serialize(int num, object obj, ProtoWriter writer, ProtobufSerializerPrecompiled model, out bool exists)
 {
     if (!customSerializers.TryGetValue(num, out ICustomSerializer s))
     {
         exists = false;
         return;
     }
     try
     {
         s.Serialize(obj, writer, model);
         exists = true;
         return;
     }
     catch { }
     exists = false;
 }
 public static object Deserialize(int num, object obj, ProtoReader reader, ProtobufSerializerPrecompiled model, out bool exists)
 {
     if (!customSerializers.TryGetValue(num, out ICustomSerializer s))
     {
         exists = false;
         return(null);
     }
     try
     {
         exists = true;
         return(s.Deserialize(obj, reader, model));
     }
     catch { }
     exists = true;
     return(null);
 }
Пример #7
0
        public static bool Prefix(ProtobufSerializerPrecompiled __instance, int num, object obj, ProtoWriter writer)
        {
            if (obj is Submarine)
            {
                Serialization.Submarine.Serialize(obj as Submarines.Submarine, writer);
                return(false);
            }

            if (obj is Content.EntranceHatch)
            {
                Serialization.EntranceHatch.Serialize(obj as Content.EntranceHatch, writer);
                return(false);
            }

            return(true);
        }
Пример #8
0
        public static bool Prefix(ProtobufSerializerPrecompiled __instance, object __result, int num, object obj, ProtoReader reader)
        {
            if (obj is Submarine)
            {
                Serialization.Submarine.Deserialize(obj as Submarine, reader);
                __result = obj;
                return(false);
            }

            if (obj is Content.EntranceHatch)
            {
                Serialization.EntranceHatch.Deserialize(obj as Content.EntranceHatch, reader);
                __result = obj;
                return(false);
            }

            return(true);
        }
Пример #9
0
 public static object PrecompDeserialize(ProtobufSerializerPrecompiled model, int num, object obj, ProtoReader reader)
 {
     return(DeserializeFunc.Invoke(model, new object[] { num, obj, reader }));
 }
Пример #10
0
 public static int PrecompGetKey(ProtobufSerializerPrecompiled model, Type type)
 {
     return((int)GetKeyFunc.Invoke(model, new object[] { type }));
 }
Пример #11
0
 public static void PrecompSerialize(ProtobufSerializerPrecompiled model, int num, object obj, ProtoWriter writer)
 {
     SerializeFunc.Invoke(model, new object[] { num, obj, writer });
 }