// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: Routing.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 SurfaceId : 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)]
        [global::System.ComponentModel.DefaultValue(typeof(ulong), "0")]
        public ulong primary_id
        {
            get => __pbn__primary_id ?? 0ul;
            set => __pbn__primary_id = value;
        }
        public bool ShouldSerializeprimary_id() => __pbn__primary_id != null;
        public void Resetprimary_id() => __pbn__primary_id = null;
        private ulong? __pbn__primary_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(0)]
        public int secondary_id
        {
            get => __pbn__secondary_id ?? 0;
            set => __pbn__secondary_id = value;
        }
        public bool ShouldSerializesecondary_id() => __pbn__secondary_id != null;
        public void Resetsecondary_id() => __pbn__secondary_id = null;
        private int? __pbn__secondary_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(1u)]
        public uint type
        {
            get => __pbn__type ?? 1u;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private uint? __pbn__type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RouteNodeData : 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, IsRequired = true)]
        public DataType type { get; set; } = DataType.DATA_STAIRS;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] data
        {
            get => __pbn__data;
            set => __pbn__data = value;
        }
        public bool ShouldSerializedata() => __pbn__data != null;
        public void Resetdata() => __pbn__data = null;
        private byte[] __pbn__data;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool do_stop_transition
        {
            get => __pbn__do_stop_transition ?? false;
            set => __pbn__do_stop_transition = value;
        }
        public bool ShouldSerializedo_stop_transition() => __pbn__do_stop_transition != null;
        public void Resetdo_stop_transition() => __pbn__do_stop_transition = null;
        private bool? __pbn__do_stop_transition;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool do_start_transition
        {
            get => __pbn__do_start_transition ?? false;
            set => __pbn__do_start_transition = value;
        }
        public bool ShouldSerializedo_start_transition() => __pbn__do_start_transition != null;
        public void Resetdo_start_transition() => __pbn__do_start_transition = null;
        private bool? __pbn__do_start_transition;

        [global::ProtoBuf.ProtoContract()]
        public enum DataType
        {
            DATA_STAIRS = 1,
            DATA_ANIMATE = 2,
            DATA_LADDER = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RouteStairsData : 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, IsRequired = true)]
        public bool traversing_up { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public uint stair_count { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint walkstyle
        {
            get => __pbn__walkstyle ?? 0u;
            set => __pbn__walkstyle = value;
        }
        public bool ShouldSerializewalkstyle() => __pbn__walkstyle != null;
        public void Resetwalkstyle() => __pbn__walkstyle = null;
        private uint? __pbn__walkstyle;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(1u)]
        public uint stairs_per_cycle
        {
            get => __pbn__stairs_per_cycle ?? 1u;
            set => __pbn__stairs_per_cycle = value;
        }
        public bool ShouldSerializestairs_per_cycle() => __pbn__stairs_per_cycle != null;
        public void Resetstairs_per_cycle() => __pbn__stairs_per_cycle = null;
        private uint? __pbn__stairs_per_cycle;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RouteLadderData : 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, IsRequired = true)]
        public bool traversing_up { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public uint step_count { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(LadderType.LADDER_OCEAN)]
        public LadderType ladder_type
        {
            get => __pbn__ladder_type ?? LadderType.LADDER_OCEAN;
            set => __pbn__ladder_type = value;
        }
        public bool ShouldSerializeladder_type() => __pbn__ladder_type != null;
        public void Resetladder_type() => __pbn__ladder_type = null;
        private LadderType? __pbn__ladder_type;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(PortalAlignment.PA_FRONT)]
        public PortalAlignment portal_alignment
        {
            get => __pbn__portal_alignment ?? PortalAlignment.PA_FRONT;
            set => __pbn__portal_alignment = value;
        }
        public bool ShouldSerializeportal_alignment() => __pbn__portal_alignment != null;
        public void Resetportal_alignment() => __pbn__portal_alignment = null;
        private PortalAlignment? __pbn__portal_alignment;

        [global::ProtoBuf.ProtoContract()]
        public enum LadderType
        {
            LADDER_OCEAN = 0,
            LADDER_BUILD = 1,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum PortalAlignment
        {
            PA_FRONT = 0,
            PA_LEFT = 1,
            PA_RIGHT = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RouteAnimateData : 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, IsRequired = true)]
        public byte[] arb_data { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RouteNode : 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, IsRequired = true)]
        public Transform location { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public float time { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint action
        {
            get => __pbn__action ?? 0u;
            set => __pbn__action = value;
        }
        public bool ShouldSerializeaction() => __pbn__action != null;
        public void Resetaction() => __pbn__action = null;
        private uint? __pbn__action;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint walkstyle
        {
            get => __pbn__walkstyle ?? 0u;
            set => __pbn__walkstyle = value;
        }
        public bool ShouldSerializewalkstyle() => __pbn__walkstyle != null;
        public void Resetwalkstyle() => __pbn__walkstyle = null;
        private uint? __pbn__walkstyle;

        [global::ProtoBuf.ProtoMember(5)]
        public SurfaceId routing_surface_id { get; set; }

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(typeof(ulong), "0")]
        public ulong portal_object_id
        {
            get => __pbn__portal_object_id ?? 0ul;
            set => __pbn__portal_object_id = value;
        }
        public bool ShouldSerializeportal_object_id() => __pbn__portal_object_id != null;
        public void Resetportal_object_id() => __pbn__portal_object_id = null;
        private ulong? __pbn__portal_object_id;

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

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue(typeof(ulong), "0")]
        public ulong surface_object_id
        {
            get => __pbn__surface_object_id ?? 0ul;
            set => __pbn__surface_object_id = value;
        }
        public bool ShouldSerializesurface_object_id() => __pbn__surface_object_id != null;
        public void Resetsurface_object_id() => __pbn__surface_object_id = null;
        private ulong? __pbn__surface_object_id;

        [global::ProtoBuf.ProtoMember(9)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool is_procedural
        {
            get => __pbn__is_procedural ?? false;
            set => __pbn__is_procedural = value;
        }
        public bool ShouldSerializeis_procedural() => __pbn__is_procedural != null;
        public void Resetis_procedural() => __pbn__is_procedural = null;
        private bool? __pbn__is_procedural;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class Location : 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 Transform transform { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public int level
        {
            get => __pbn__level.GetValueOrDefault();
            set => __pbn__level = value;
        }
        public bool ShouldSerializelevel() => __pbn__level != null;
        public void Resetlevel() => __pbn__level = null;
        private int? __pbn__level;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong parent_id
        {
            get => __pbn__parent_id.GetValueOrDefault();
            set => __pbn__parent_id = value;
        }
        public bool ShouldSerializeparent_id() => __pbn__parent_id != null;
        public void Resetparent_id() => __pbn__parent_id = null;
        private ulong? __pbn__parent_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint joint_name_hash
        {
            get => __pbn__joint_name_hash.GetValueOrDefault();
            set => __pbn__joint_name_hash = value;
        }
        public bool ShouldSerializejoint_name_hash() => __pbn__joint_name_hash != null;
        public void Resetjoint_name_hash() => __pbn__joint_name_hash = null;
        private uint? __pbn__joint_name_hash;

        [global::ProtoBuf.ProtoMember(5)]
        public uint slot_hash
        {
            get => __pbn__slot_hash.GetValueOrDefault();
            set => __pbn__slot_hash = value;
        }
        public bool ShouldSerializeslot_hash() => __pbn__slot_hash != null;
        public void Resetslot_hash() => __pbn__slot_hash = null;
        private uint? __pbn__slot_hash;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class GoalPoint : 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, IsRequired = true)]
        public Transform location { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(1f)]
        public float weight
        {
            get => __pbn__weight ?? 1f;
            set => __pbn__weight = value;
        }
        public bool ShouldSerializeweight() => __pbn__weight != null;
        public void Resetweight() => __pbn__weight = null;
        private float? __pbn__weight;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(0.123f)]
        public float radius
        {
            get => __pbn__radius ?? 0.123f;
            set => __pbn__radius = value;
        }
        public bool ShouldSerializeradius() => __pbn__radius != null;
        public void Resetradius() => __pbn__radius = null;
        private float? __pbn__radius;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RoutePoint : 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, IsRequired = true)]
        public Vector2 pos { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RoutePolygon : 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 global::System.Collections.Generic.List<RoutePoint> points { get; } = new global::System.Collections.Generic.List<RoutePoint>();

        [global::ProtoBuf.ProtoMember(2)]
        public SurfaceId routing_surface_id { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RoutePolygons : 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 global::System.Collections.Generic.List<RoutePolygon> polygons { get; } = new global::System.Collections.Generic.List<RoutePolygon>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class RouteEvent : 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)]
        [global::System.ComponentModel.DefaultValue(typeof(ulong), "0")]
        public ulong id
        {
            get => __pbn__id ?? 0ul;
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private ulong? __pbn__id;

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public Type type { get; set; }

        [global::ProtoBuf.ProtoMember(3, IsRequired = true)]
        public float time { get; set; }

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(0f)]
        public float duration
        {
            get => __pbn__duration ?? 0f;
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private float? __pbn__duration;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(typeof(ulong), "0")]
        public ulong tag
        {
            get => __pbn__tag ?? 0ul;
            set => __pbn__tag = value;
        }
        public bool ShouldSerializetag() => __pbn__tag != null;
        public void Resettag() => __pbn__tag = null;
        private ulong? __pbn__tag;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(true)]
        public bool skippable
        {
            get => __pbn__skippable ?? true;
            set => __pbn__skippable = value;
        }
        public bool ShouldSerializeskippable() => __pbn__skippable != null;
        public void Resetskippable() => __pbn__skippable = null;
        private bool? __pbn__skippable;

        [global::ProtoBuf.ProtoMember(7)]
        public byte[] data
        {
            get => __pbn__data;
            set => __pbn__data = value;
        }
        public bool ShouldSerializedata() => __pbn__data != null;
        public void Resetdata() => __pbn__data = null;
        private byte[] __pbn__data;

        [global::ProtoBuf.ProtoContract()]
        public enum Type
        {
            PORTAL_ENTER = 0,
            PORTAL_EXIT = 1,
            PORTAL_CHANGE_OPACITY = 2,
            CONTROLLER_EVENT = 3,
            BARRIER_EVENT = 4,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class PortalEnterEvent : 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, IsRequired = true)]
        public ulong portal_object_id { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(true)]
        public bool entering_front
        {
            get => __pbn__entering_front ?? true;
            set => __pbn__entering_front = value;
        }
        public bool ShouldSerializeentering_front() => __pbn__entering_front != null;
        public void Resetentering_front() => __pbn__entering_front = null;
        private bool? __pbn__entering_front;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class PortalExitEvent : 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, IsRequired = true)]
        public ulong portal_object_id { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class PortalChangeOpacityEvent : 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, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong object_id
        {
            get => __pbn__object_id.GetValueOrDefault();
            set => __pbn__object_id = value;
        }
        public bool ShouldSerializeobject_id() => __pbn__object_id != null;
        public void Resetobject_id() => __pbn__object_id = null;
        private ulong? __pbn__object_id;

        [global::ProtoBuf.ProtoMember(2)]
        public float opacity
        {
            get => __pbn__opacity.GetValueOrDefault();
            set => __pbn__opacity = value;
        }
        public bool ShouldSerializeopacity() => __pbn__opacity != null;
        public void Resetopacity() => __pbn__opacity = null;
        private float? __pbn__opacity;

        [global::ProtoBuf.ProtoMember(3)]
        public float duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private float? __pbn__duration;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ControllerEvent : 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, IsRequired = true)]
        public ulong object_id { get; set; }

        [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
        public uint event_id { get; set; }

        [global::ProtoBuf.ProtoMember(3, IsRequired = true)]
        public uint data_type { get; set; }

        [global::ProtoBuf.ProtoMember(4)]
        public byte[] data
        {
            get => __pbn__data;
            set => __pbn__data = value;
        }
        public bool ShouldSerializedata() => __pbn__data != null;
        public void Resetdata() => __pbn__data = null;
        private byte[] __pbn__data;

        [global::ProtoBuf.ProtoContract()]
        public enum DataType
        {
            UINT32 = 0,
            FLOAT = 1,
            ARB = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ControllerEventUInt32 : 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)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint data
        {
            get => __pbn__data ?? 0u;
            set => __pbn__data = value;
        }
        public bool ShouldSerializedata() => __pbn__data != null;
        public void Resetdata() => __pbn__data = null;
        private uint? __pbn__data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ControllerEventFloat : 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)]
        [global::System.ComponentModel.DefaultValue(0f)]
        public float data
        {
            get => __pbn__data ?? 0f;
            set => __pbn__data = value;
        }
        public bool ShouldSerializedata() => __pbn__data != null;
        public void Resetdata() => __pbn__data = null;
        private float? __pbn__data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class ControllerEventARB : 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, IsRequired = true)]
        public byte[] data { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class NoiseParameters : 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 uint octave_count
        {
            get => __pbn__octave_count.GetValueOrDefault();
            set => __pbn__octave_count = value;
        }
        public bool ShouldSerializeoctave_count() => __pbn__octave_count != null;
        public void Resetoctave_count() => __pbn__octave_count = null;
        private uint? __pbn__octave_count;

        [global::ProtoBuf.ProtoMember(2)]
        public float frequency
        {
            get => __pbn__frequency.GetValueOrDefault();
            set => __pbn__frequency = value;
        }
        public bool ShouldSerializefrequency() => __pbn__frequency != null;
        public void Resetfrequency() => __pbn__frequency = null;
        private float? __pbn__frequency;

        [global::ProtoBuf.ProtoMember(3)]
        public float max_x_distance
        {
            get => __pbn__max_x_distance.GetValueOrDefault();
            set => __pbn__max_x_distance = value;
        }
        public bool ShouldSerializemax_x_distance() => __pbn__max_x_distance != null;
        public void Resetmax_x_distance() => __pbn__max_x_distance = null;
        private float? __pbn__max_x_distance;

        [global::ProtoBuf.ProtoMember(4)]
        public float max_z_distance
        {
            get => __pbn__max_z_distance.GetValueOrDefault();
            set => __pbn__max_z_distance = value;
        }
        public bool ShouldSerializemax_z_distance() => __pbn__max_z_distance != null;
        public void Resetmax_z_distance() => __pbn__max_z_distance = null;
        private float? __pbn__max_z_distance;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class SpringParameters : 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 float tension
        {
            get => __pbn__tension.GetValueOrDefault();
            set => __pbn__tension = value;
        }
        public bool ShouldSerializetension() => __pbn__tension != null;
        public void Resettension() => __pbn__tension = null;
        private float? __pbn__tension;

        [global::ProtoBuf.ProtoMember(2)]
        public float damping
        {
            get => __pbn__damping.GetValueOrDefault();
            set => __pbn__damping = value;
        }
        public bool ShouldSerializedamping() => __pbn__damping != null;
        public void Resetdamping() => __pbn__damping = null;
        private float? __pbn__damping;

        [global::ProtoBuf.ProtoMember(3)]
        public float velocity_scale
        {
            get => __pbn__velocity_scale.GetValueOrDefault();
            set => __pbn__velocity_scale = value;
        }
        public bool ShouldSerializevelocity_scale() => __pbn__velocity_scale != null;
        public void Resetvelocity_scale() => __pbn__velocity_scale = null;
        private float? __pbn__velocity_scale;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class FishtailParameters : 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 NoiseParameters noise_behavior { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public SpringParameters spring_behavior { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class AttachmentInfo : 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 Vector2 parent_offset { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public Vector2 offset { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(3.1415f)]
        public float angle_constraint
        {
            get => __pbn__angle_constraint ?? 3.1415f;
            set => __pbn__angle_constraint = value;
        }
        public bool ShouldSerializeangle_constraint() => __pbn__angle_constraint != null;
        public void Resetangle_constraint() => __pbn__angle_constraint = null;
        private float? __pbn__angle_constraint;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(0.25f)]
        public float radius
        {
            get => __pbn__radius ?? 0.25f;
            set => __pbn__radius = value;
        }
        public bool ShouldSerializeradius() => __pbn__radius != null;
        public void Resetradius() => __pbn__radius = null;
        private float? __pbn__radius;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint flags
        {
            get => __pbn__flags ?? 0u;
            set => __pbn__flags = value;
        }
        public bool ShouldSerializeflags() => __pbn__flags != null;
        public void Resetflags() => __pbn__flags = null;
        private uint? __pbn__flags;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(RoutingFormationFollowType.NODE_TYPE_FOLLOW_LEADER)]
        public RoutingFormationFollowType type
        {
            get => __pbn__type ?? RoutingFormationFollowType.NODE_TYPE_FOLLOW_LEADER;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private RoutingFormationFollowType? __pbn__type;

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

        [global::ProtoBuf.ProtoContract()]
        public enum RoutingFormationFollowType
        {
            NODE_TYPE_FOLLOW_LEADER = 0,
            NODE_TYPE_CHAIN = 1,
            NODE_TYPE_FISHTAIL = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class WalkstyleOverride : 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)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint from_walkstyle
        {
            get => __pbn__from_walkstyle ?? 0u;
            set => __pbn__from_walkstyle = value;
        }
        public bool ShouldSerializefrom_walkstyle() => __pbn__from_walkstyle != null;
        public void Resetfrom_walkstyle() => __pbn__from_walkstyle = null;
        private uint? __pbn__from_walkstyle;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint to_walkstyle
        {
            get => __pbn__to_walkstyle ?? 0u;
            set => __pbn__to_walkstyle = value;
        }
        public bool ShouldSerializeto_walkstyle() => __pbn__to_walkstyle != null;
        public void Resetto_walkstyle() => __pbn__to_walkstyle = null;
        private uint? __pbn__to_walkstyle;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class SlaveData : 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, IsRequired = true)]
        public ulong id { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(Type.SLAVE_NONE)]
        public Type type
        {
            get => __pbn__type ?? Type.SLAVE_NONE;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private Type? __pbn__type;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<AttachmentInfo> offset { get; } = new global::System.Collections.Generic.List<AttachmentInfo>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<WalkstyleOverride> walkstyle_overrides { get; } = new global::System.Collections.Generic.List<WalkstyleOverride>();

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<SlaveData> slaves { get; } = new global::System.Collections.Generic.List<SlaveData>();

        [global::ProtoBuf.ProtoMember(11)]
        public Transform final_location_override { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public enum Type
        {
            SLAVE_NONE = 0,
            SLAVE_FOLLOW_ATTACHMENT = 1,
            SLAVE_PAIRED_CHILD = 2,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class Route : 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, IsRequired = true)]
        public ulong id { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<RouteNode> nodes { get; } = new global::System.Collections.Generic.List<RouteNode>();

        [global::ProtoBuf.ProtoMember(3)]
        public float time
        {
            get => __pbn__time.GetValueOrDefault();
            set => __pbn__time = value;
        }
        public bool ShouldSerializetime() => __pbn__time != null;
        public void Resettime() => __pbn__time = null;
        private float? __pbn__time;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong absolute_time_ms
        {
            get => __pbn__absolute_time_ms.GetValueOrDefault();
            set => __pbn__absolute_time_ms = value;
        }
        public bool ShouldSerializeabsolute_time_ms() => __pbn__absolute_time_ms != null;
        public void Resetabsolute_time_ms() => __pbn__absolute_time_ms = null;
        private ulong? __pbn__absolute_time_ms;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<GoalPoint> goals { get; } = new global::System.Collections.Generic.List<GoalPoint>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<RouteEvent> events { get; } = new global::System.Collections.Generic.List<RouteEvent>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<RoutePolygon> bounds_polygons { get; } = new global::System.Collections.Generic.List<RoutePolygon>();

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue(10000u)]
        public uint track
        {
            get => __pbn__track ?? 10000u;
            set => __pbn__track = value;
        }
        public bool ShouldSerializetrack() => __pbn__track != null;
        public void Resettrack() => __pbn__track = null;
        private uint? __pbn__track;

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<RoutePolygons> obstacle_polygons { get; } = new global::System.Collections.Generic.List<RoutePolygons>();

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<SlaveData> slaves { get; } = new global::System.Collections.Generic.List<SlaveData>();

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue(4294967295u)]
        public uint mask
        {
            get => __pbn__mask ?? 4294967295u;
            set => __pbn__mask = value;
        }
        public bool ShouldSerializemask() => __pbn__mask != null;
        public void Resetmask() => __pbn__mask = null;
        private uint? __pbn__mask;

    }

}

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