// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: Sparse.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace EA.Sims4.Network
{

    [global::ProtoBuf.ProtoContract()]
    public partial class SparseMessageData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int[] set_fields { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public enum FieldNumbers
        {
            kFN_0 = 1,
            kFN_1 = 15,
            kFN_2 = 2002,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class TestSparseMessage : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public SparseMessageData sparse_data { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(0)]
        public int int_field_a
        {
            get => __pbn__int_field_a ?? 0;
            set => __pbn__int_field_a = value;
        }
        public bool ShouldSerializeint_field_a() => __pbn__int_field_a != null;
        public void Resetint_field_a() => __pbn__int_field_a = null;
        private int? __pbn__int_field_a;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(0)]
        public int int_field_b
        {
            get => __pbn__int_field_b ?? 0;
            set => __pbn__int_field_b = value;
        }
        public bool ShouldSerializeint_field_b() => __pbn__int_field_b != null;
        public void Resetint_field_b() => __pbn__int_field_b = null;
        private int? __pbn__int_field_b;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(10)]
        public int int_field_c
        {
            get => __pbn__int_field_c ?? 10;
            set => __pbn__int_field_c = value;
        }
        public bool ShouldSerializeint_field_c() => __pbn__int_field_c != null;
        public void Resetint_field_c() => __pbn__int_field_c = null;
        private int? __pbn__int_field_c;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(10)]
        public int int_field_d
        {
            get => __pbn__int_field_d ?? 10;
            set => __pbn__int_field_d = value;
        }
        public bool ShouldSerializeint_field_d() => __pbn__int_field_d != null;
        public void Resetint_field_d() => __pbn__int_field_d = null;
        private int? __pbn__int_field_d;

        [global::ProtoBuf.ProtoMember(6)]
        public int[] int_rep_a { get; set; }

        [global::ProtoBuf.ProtoMember(7)]
        public int[] int_rep_b { get; set; }

        [global::ProtoBuf.ProtoMember(20)]
        [global::System.ComponentModel.DefaultValue("")]
        public string str_field
        {
            get => __pbn__str_field ?? "";
            set => __pbn__str_field = value;
        }
        public bool ShouldSerializestr_field() => __pbn__str_field != null;
        public void Resetstr_field() => __pbn__str_field = null;
        private string __pbn__str_field;

        [global::ProtoBuf.ProtoMember(21)]
        public global::System.Collections.Generic.List<string> str_rep { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(10)]
        public TestSparseMessage2 sparse_msg_opt { get; set; }

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<TestSparseMessage2> sparse_msg_rep { get; } = new global::System.Collections.Generic.List<TestSparseMessage2>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class TestSparseMessage2 : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2002)]
        public SparseMessageData sparse_data { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string str_field
        {
            get => __pbn__str_field ?? "";
            set => __pbn__str_field = value;
        }
        public bool ShouldSerializestr_field() => __pbn__str_field != null;
        public void Resetstr_field() => __pbn__str_field = null;
        private string __pbn__str_field;

    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, CS8981, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
