// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: rec_room/persistence/sandbox_gizmo_data.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace RecRoom.Protobuf {

  /// <summary>Holder for reflection information generated from rec_room/persistence/sandbox_gizmo_data.proto</summary>
  public static partial class SandboxGizmoDataReflection {

    #region Descriptor
    /// <summary>File descriptor for rec_room/persistence/sandbox_gizmo_data.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static SandboxGizmoDataReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Ci1yZWNfcm9vbS9wZXJzaXN0ZW5jZS9zYW5kYm94X2dpem1vX2RhdGEucHJv",
            "dG8SCHJlY19yb29tGhdyZWNfcm9vbS90YWdfZGF0YS5wcm90byKYAgoQU2Fu",
            "ZGJveEdpem1vRGF0YRJEChlhY2NlbGVyYXRlZF9tb3ZlbWVudF9kYXRhGAEg",
            "ASgLMiEucmVjX3Jvb20uQWNjZWxlcmF0ZWRNb3ZlbWVudERhdGESNAoNdGhy",
            "dXN0ZXJfZGF0YRgDIAEoCzIdLnJlY19yb29tLlBoeXNpY3NUaHJ1c3RlckRh",
            "dGESMAoMbG9va19hdF9kYXRhGAUgASgLMhoucmVjX3Jvb20uU21vb3RoTG9v",
            "a0F0RGF0YRIpCgtwaXN0b25fZGF0YRgGIAEoCzIULnJlY19yb29tLlBpc3Rv",
            "bkRhdGESKwoMcm90YXRvcl9kYXRhGAcgASgLMhUucmVjX3Jvb20uUm90YXRv",
            "ckRhdGEiKgoTUGh5c2ljc1RocnVzdGVyRGF0YRITCgt0aHJ1c3RfbW9kZRgB",
            "IAEoBSKdAQoXQWNjZWxlcmF0ZWRNb3ZlbWVudERhdGESGQoRYWNjZWxlcmF0",
            "aW9uX3RpbWUYASABKAISGQoRdXNlc190YXJnZXRfdmFsdWUYAiABKAgSJgoe",
            "TEVHQUNZX2N2Ml9zY2FsZV9hZmZlY3RzX3NwZWVkGAMgASgIEiQKHERFUFJF",
            "Q0FURURfY3YyX3N0b3Bfb25fcmVzZXQYBCABKAginQEKEFNtb290aExvb2tB",
            "dERhdGESEgoKc21vb3RobmVzcxgBIAEoBRIjCgh0YWdfZGF0YRgCIAEoCzIR",
            "LnJlY19yb29tLlRhZ0RhdGESFQoNdHJhY2tpbmdfbW9kZRgDIAEoBRITCgt0",
            "YXJnZXRfdHlwZRgEIAEoBRIRCglyb2xlX2d1aWQYBSABKAkSEQoJYm9keV9w",
            "YXJ0GAYgASgFIp8BCgpQaXN0b25EYXRhEhsKE21heF90cmF2ZWxfZGlzdGFu",
            "Y2UYASABKAISFwoPdGFyZ2V0X2Rpc3RhbmNlGAIgASgCEhUKDWRlZmF1bHRf",
            "c3BlZWQYBCABKAISHAoUZGVmYXVsdF9hY2NlbGVyYXRpb24YBSABKAISJgoe",
            "REVQUkVDQVRFRF9wbGF5X3RhcmdldF9mb3JfYWxsGAMgASgIIoMBCgtSb3Rh",
            "dG9yRGF0YRIXCg90YXJnZXRfcm90YXRpb24YASABKAISFQoNZGVmYXVsdF9z",
            "cGVlZBgDIAEoAhIcChRkZWZhdWx0X2FjY2VsZXJhdGlvbhgEIAEoAhImCh5E",
            "RVBSRUNBVEVEX3BsYXlfdGFyZ2V0X2Zvcl9hbGwYAiABKAhCE6oCEFJlY1Jv",
            "b20uUHJvdG9idWZiBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::RecRoom.Protobuf.TagDataReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.SandboxGizmoData), global::RecRoom.Protobuf.SandboxGizmoData.Parser, new[]{ "AcceleratedMovementData", "ThrusterData", "LookAtData", "PistonData", "RotatorData" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.PhysicsThrusterData), global::RecRoom.Protobuf.PhysicsThrusterData.Parser, new[]{ "ThrustMode" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.AcceleratedMovementData), global::RecRoom.Protobuf.AcceleratedMovementData.Parser, new[]{ "AccelerationTime", "UsesTargetValue", "LEGACYCv2ScaleAffectsSpeed", "DEPRECATEDCv2StopOnReset" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.SmoothLookAtData), global::RecRoom.Protobuf.SmoothLookAtData.Parser, new[]{ "Smoothness", "TagData", "TrackingMode", "TargetType", "RoleGuid", "BodyPart" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.PistonData), global::RecRoom.Protobuf.PistonData.Parser, new[]{ "MaxTravelDistance", "TargetDistance", "DefaultSpeed", "DefaultAcceleration", "DEPRECATEDPlayTargetForAll" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.Protobuf.RotatorData), global::RecRoom.Protobuf.RotatorData.Parser, new[]{ "TargetRotation", "DefaultSpeed", "DefaultAcceleration", "DEPRECATEDPlayTargetForAll" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class SandboxGizmoData : pb::IMessage<SandboxGizmoData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SandboxGizmoData> _parser = new pb::MessageParser<SandboxGizmoData>(() => new SandboxGizmoData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SandboxGizmoData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.Protobuf.SandboxGizmoDataReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SandboxGizmoData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SandboxGizmoData(SandboxGizmoData other) : this() {
      acceleratedMovementData_ = other.acceleratedMovementData_ != null ? other.acceleratedMovementData_.Clone() : null;
      thrusterData_ = other.thrusterData_ != null ? other.thrusterData_.Clone() : null;
      lookAtData_ = other.lookAtData_ != null ? other.lookAtData_.Clone() : null;
      pistonData_ = other.pistonData_ != null ? other.pistonData_.Clone() : null;
      rotatorData_ = other.rotatorData_ != null ? other.rotatorData_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SandboxGizmoData Clone() {
      return new SandboxGizmoData(this);
    }

    /// <summary>Field number for the "accelerated_movement_data" field.</summary>
    public const int AcceleratedMovementDataFieldNumber = 1;
    private global::RecRoom.Protobuf.AcceleratedMovementData acceleratedMovementData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.AcceleratedMovementData AcceleratedMovementData {
      get { return acceleratedMovementData_; }
      set {
        acceleratedMovementData_ = value;
      }
    }

    /// <summary>Field number for the "thruster_data" field.</summary>
    public const int ThrusterDataFieldNumber = 3;
    private global::RecRoom.Protobuf.PhysicsThrusterData thrusterData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.PhysicsThrusterData ThrusterData {
      get { return thrusterData_; }
      set {
        thrusterData_ = value;
      }
    }

    /// <summary>Field number for the "look_at_data" field.</summary>
    public const int LookAtDataFieldNumber = 5;
    private global::RecRoom.Protobuf.SmoothLookAtData lookAtData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.SmoothLookAtData LookAtData {
      get { return lookAtData_; }
      set {
        lookAtData_ = value;
      }
    }

    /// <summary>Field number for the "piston_data" field.</summary>
    public const int PistonDataFieldNumber = 6;
    private global::RecRoom.Protobuf.PistonData pistonData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.PistonData PistonData {
      get { return pistonData_; }
      set {
        pistonData_ = value;
      }
    }

    /// <summary>Field number for the "rotator_data" field.</summary>
    public const int RotatorDataFieldNumber = 7;
    private global::RecRoom.Protobuf.RotatorData rotatorData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.RotatorData RotatorData {
      get { return rotatorData_; }
      set {
        rotatorData_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SandboxGizmoData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SandboxGizmoData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(AcceleratedMovementData, other.AcceleratedMovementData)) return false;
      if (!object.Equals(ThrusterData, other.ThrusterData)) return false;
      if (!object.Equals(LookAtData, other.LookAtData)) return false;
      if (!object.Equals(PistonData, other.PistonData)) return false;
      if (!object.Equals(RotatorData, other.RotatorData)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (acceleratedMovementData_ != null) hash ^= AcceleratedMovementData.GetHashCode();
      if (thrusterData_ != null) hash ^= ThrusterData.GetHashCode();
      if (lookAtData_ != null) hash ^= LookAtData.GetHashCode();
      if (pistonData_ != null) hash ^= PistonData.GetHashCode();
      if (rotatorData_ != null) hash ^= RotatorData.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (acceleratedMovementData_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(AcceleratedMovementData);
      }
      if (thrusterData_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ThrusterData);
      }
      if (lookAtData_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(LookAtData);
      }
      if (pistonData_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(PistonData);
      }
      if (rotatorData_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(RotatorData);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (acceleratedMovementData_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(AcceleratedMovementData);
      }
      if (thrusterData_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(ThrusterData);
      }
      if (lookAtData_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(LookAtData);
      }
      if (pistonData_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(PistonData);
      }
      if (rotatorData_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(RotatorData);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (acceleratedMovementData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(AcceleratedMovementData);
      }
      if (thrusterData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ThrusterData);
      }
      if (lookAtData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LookAtData);
      }
      if (pistonData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(PistonData);
      }
      if (rotatorData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RotatorData);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SandboxGizmoData other) {
      if (other == null) {
        return;
      }
      if (other.acceleratedMovementData_ != null) {
        if (acceleratedMovementData_ == null) {
          AcceleratedMovementData = new global::RecRoom.Protobuf.AcceleratedMovementData();
        }
        AcceleratedMovementData.MergeFrom(other.AcceleratedMovementData);
      }
      if (other.thrusterData_ != null) {
        if (thrusterData_ == null) {
          ThrusterData = new global::RecRoom.Protobuf.PhysicsThrusterData();
        }
        ThrusterData.MergeFrom(other.ThrusterData);
      }
      if (other.lookAtData_ != null) {
        if (lookAtData_ == null) {
          LookAtData = new global::RecRoom.Protobuf.SmoothLookAtData();
        }
        LookAtData.MergeFrom(other.LookAtData);
      }
      if (other.pistonData_ != null) {
        if (pistonData_ == null) {
          PistonData = new global::RecRoom.Protobuf.PistonData();
        }
        PistonData.MergeFrom(other.PistonData);
      }
      if (other.rotatorData_ != null) {
        if (rotatorData_ == null) {
          RotatorData = new global::RecRoom.Protobuf.RotatorData();
        }
        RotatorData.MergeFrom(other.RotatorData);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (acceleratedMovementData_ == null) {
              AcceleratedMovementData = new global::RecRoom.Protobuf.AcceleratedMovementData();
            }
            input.ReadMessage(AcceleratedMovementData);
            break;
          }
          case 26: {
            if (thrusterData_ == null) {
              ThrusterData = new global::RecRoom.Protobuf.PhysicsThrusterData();
            }
            input.ReadMessage(ThrusterData);
            break;
          }
          case 42: {
            if (lookAtData_ == null) {
              LookAtData = new global::RecRoom.Protobuf.SmoothLookAtData();
            }
            input.ReadMessage(LookAtData);
            break;
          }
          case 50: {
            if (pistonData_ == null) {
              PistonData = new global::RecRoom.Protobuf.PistonData();
            }
            input.ReadMessage(PistonData);
            break;
          }
          case 58: {
            if (rotatorData_ == null) {
              RotatorData = new global::RecRoom.Protobuf.RotatorData();
            }
            input.ReadMessage(RotatorData);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (acceleratedMovementData_ == null) {
              AcceleratedMovementData = new global::RecRoom.Protobuf.AcceleratedMovementData();
            }
            input.ReadMessage(AcceleratedMovementData);
            break;
          }
          case 26: {
            if (thrusterData_ == null) {
              ThrusterData = new global::RecRoom.Protobuf.PhysicsThrusterData();
            }
            input.ReadMessage(ThrusterData);
            break;
          }
          case 42: {
            if (lookAtData_ == null) {
              LookAtData = new global::RecRoom.Protobuf.SmoothLookAtData();
            }
            input.ReadMessage(LookAtData);
            break;
          }
          case 50: {
            if (pistonData_ == null) {
              PistonData = new global::RecRoom.Protobuf.PistonData();
            }
            input.ReadMessage(PistonData);
            break;
          }
          case 58: {
            if (rotatorData_ == null) {
              RotatorData = new global::RecRoom.Protobuf.RotatorData();
            }
            input.ReadMessage(RotatorData);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PhysicsThrusterData : pb::IMessage<PhysicsThrusterData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PhysicsThrusterData> _parser = new pb::MessageParser<PhysicsThrusterData>(() => new PhysicsThrusterData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PhysicsThrusterData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.Protobuf.SandboxGizmoDataReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PhysicsThrusterData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PhysicsThrusterData(PhysicsThrusterData other) : this() {
      thrustMode_ = other.thrustMode_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PhysicsThrusterData Clone() {
      return new PhysicsThrusterData(this);
    }

    /// <summary>Field number for the "thrust_mode" field.</summary>
    public const int ThrustModeFieldNumber = 1;
    private int thrustMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThrustMode {
      get { return thrustMode_; }
      set {
        thrustMode_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PhysicsThrusterData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PhysicsThrusterData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ThrustMode != other.ThrustMode) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (ThrustMode != 0) hash ^= ThrustMode.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (ThrustMode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(ThrustMode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (ThrustMode != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(ThrustMode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (ThrustMode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ThrustMode);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PhysicsThrusterData other) {
      if (other == null) {
        return;
      }
      if (other.ThrustMode != 0) {
        ThrustMode = other.ThrustMode;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            ThrustMode = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            ThrustMode = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class AcceleratedMovementData : pb::IMessage<AcceleratedMovementData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<AcceleratedMovementData> _parser = new pb::MessageParser<AcceleratedMovementData>(() => new AcceleratedMovementData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<AcceleratedMovementData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.Protobuf.SandboxGizmoDataReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AcceleratedMovementData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AcceleratedMovementData(AcceleratedMovementData other) : this() {
      accelerationTime_ = other.accelerationTime_;
      usesTargetValue_ = other.usesTargetValue_;
      lEGACYCv2ScaleAffectsSpeed_ = other.lEGACYCv2ScaleAffectsSpeed_;
      dEPRECATEDCv2StopOnReset_ = other.dEPRECATEDCv2StopOnReset_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AcceleratedMovementData Clone() {
      return new AcceleratedMovementData(this);
    }

    /// <summary>Field number for the "acceleration_time" field.</summary>
    public const int AccelerationTimeFieldNumber = 1;
    private float accelerationTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float AccelerationTime {
      get { return accelerationTime_; }
      set {
        accelerationTime_ = value;
      }
    }

    /// <summary>Field number for the "uses_target_value" field.</summary>
    public const int UsesTargetValueFieldNumber = 2;
    private bool usesTargetValue_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool UsesTargetValue {
      get { return usesTargetValue_; }
      set {
        usesTargetValue_ = value;
      }
    }

    /// <summary>Field number for the "LEGACY_cv2_scale_affects_speed" field.</summary>
    public const int LEGACYCv2ScaleAffectsSpeedFieldNumber = 3;
    private bool lEGACYCv2ScaleAffectsSpeed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool LEGACYCv2ScaleAffectsSpeed {
      get { return lEGACYCv2ScaleAffectsSpeed_; }
      set {
        lEGACYCv2ScaleAffectsSpeed_ = value;
      }
    }

    /// <summary>Field number for the "DEPRECATED_cv2_stop_on_reset" field.</summary>
    public const int DEPRECATEDCv2StopOnResetFieldNumber = 4;
    private bool dEPRECATEDCv2StopOnReset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool DEPRECATEDCv2StopOnReset {
      get { return dEPRECATEDCv2StopOnReset_; }
      set {
        dEPRECATEDCv2StopOnReset_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as AcceleratedMovementData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AcceleratedMovementData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(AccelerationTime, other.AccelerationTime)) return false;
      if (UsesTargetValue != other.UsesTargetValue) return false;
      if (LEGACYCv2ScaleAffectsSpeed != other.LEGACYCv2ScaleAffectsSpeed) return false;
      if (DEPRECATEDCv2StopOnReset != other.DEPRECATEDCv2StopOnReset) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (AccelerationTime != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(AccelerationTime);
      if (UsesTargetValue != false) hash ^= UsesTargetValue.GetHashCode();
      if (LEGACYCv2ScaleAffectsSpeed != false) hash ^= LEGACYCv2ScaleAffectsSpeed.GetHashCode();
      if (DEPRECATEDCv2StopOnReset != false) hash ^= DEPRECATEDCv2StopOnReset.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (AccelerationTime != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(AccelerationTime);
      }
      if (UsesTargetValue != false) {
        output.WriteRawTag(16);
        output.WriteBool(UsesTargetValue);
      }
      if (LEGACYCv2ScaleAffectsSpeed != false) {
        output.WriteRawTag(24);
        output.WriteBool(LEGACYCv2ScaleAffectsSpeed);
      }
      if (DEPRECATEDCv2StopOnReset != false) {
        output.WriteRawTag(32);
        output.WriteBool(DEPRECATEDCv2StopOnReset);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (AccelerationTime != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(AccelerationTime);
      }
      if (UsesTargetValue != false) {
        output.WriteRawTag(16);
        output.WriteBool(UsesTargetValue);
      }
      if (LEGACYCv2ScaleAffectsSpeed != false) {
        output.WriteRawTag(24);
        output.WriteBool(LEGACYCv2ScaleAffectsSpeed);
      }
      if (DEPRECATEDCv2StopOnReset != false) {
        output.WriteRawTag(32);
        output.WriteBool(DEPRECATEDCv2StopOnReset);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (AccelerationTime != 0F) {
        size += 1 + 4;
      }
      if (UsesTargetValue != false) {
        size += 1 + 1;
      }
      if (LEGACYCv2ScaleAffectsSpeed != false) {
        size += 1 + 1;
      }
      if (DEPRECATEDCv2StopOnReset != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AcceleratedMovementData other) {
      if (other == null) {
        return;
      }
      if (other.AccelerationTime != 0F) {
        AccelerationTime = other.AccelerationTime;
      }
      if (other.UsesTargetValue != false) {
        UsesTargetValue = other.UsesTargetValue;
      }
      if (other.LEGACYCv2ScaleAffectsSpeed != false) {
        LEGACYCv2ScaleAffectsSpeed = other.LEGACYCv2ScaleAffectsSpeed;
      }
      if (other.DEPRECATEDCv2StopOnReset != false) {
        DEPRECATEDCv2StopOnReset = other.DEPRECATEDCv2StopOnReset;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 13: {
            AccelerationTime = input.ReadFloat();
            break;
          }
          case 16: {
            UsesTargetValue = input.ReadBool();
            break;
          }
          case 24: {
            LEGACYCv2ScaleAffectsSpeed = input.ReadBool();
            break;
          }
          case 32: {
            DEPRECATEDCv2StopOnReset = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 13: {
            AccelerationTime = input.ReadFloat();
            break;
          }
          case 16: {
            UsesTargetValue = input.ReadBool();
            break;
          }
          case 24: {
            LEGACYCv2ScaleAffectsSpeed = input.ReadBool();
            break;
          }
          case 32: {
            DEPRECATEDCv2StopOnReset = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class SmoothLookAtData : pb::IMessage<SmoothLookAtData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SmoothLookAtData> _parser = new pb::MessageParser<SmoothLookAtData>(() => new SmoothLookAtData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SmoothLookAtData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.Protobuf.SandboxGizmoDataReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SmoothLookAtData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SmoothLookAtData(SmoothLookAtData other) : this() {
      smoothness_ = other.smoothness_;
      tagData_ = other.tagData_ != null ? other.tagData_.Clone() : null;
      trackingMode_ = other.trackingMode_;
      targetType_ = other.targetType_;
      roleGuid_ = other.roleGuid_;
      bodyPart_ = other.bodyPart_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SmoothLookAtData Clone() {
      return new SmoothLookAtData(this);
    }

    /// <summary>Field number for the "smoothness" field.</summary>
    public const int SmoothnessFieldNumber = 1;
    private int smoothness_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Smoothness {
      get { return smoothness_; }
      set {
        smoothness_ = value;
      }
    }

    /// <summary>Field number for the "tag_data" field.</summary>
    public const int TagDataFieldNumber = 2;
    private global::RecRoom.Protobuf.TagData tagData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.Protobuf.TagData TagData {
      get { return tagData_; }
      set {
        tagData_ = value;
      }
    }

    /// <summary>Field number for the "tracking_mode" field.</summary>
    public const int TrackingModeFieldNumber = 3;
    private int trackingMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TrackingMode {
      get { return trackingMode_; }
      set {
        trackingMode_ = value;
      }
    }

    /// <summary>Field number for the "target_type" field.</summary>
    public const int TargetTypeFieldNumber = 4;
    private int targetType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TargetType {
      get { return targetType_; }
      set {
        targetType_ = value;
      }
    }

    /// <summary>Field number for the "role_guid" field.</summary>
    public const int RoleGuidFieldNumber = 5;
    private string roleGuid_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RoleGuid {
      get { return roleGuid_; }
      set {
        roleGuid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "body_part" field.</summary>
    public const int BodyPartFieldNumber = 6;
    private int bodyPart_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BodyPart {
      get { return bodyPart_; }
      set {
        bodyPart_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SmoothLookAtData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SmoothLookAtData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Smoothness != other.Smoothness) return false;
      if (!object.Equals(TagData, other.TagData)) return false;
      if (TrackingMode != other.TrackingMode) return false;
      if (TargetType != other.TargetType) return false;
      if (RoleGuid != other.RoleGuid) return false;
      if (BodyPart != other.BodyPart) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Smoothness != 0) hash ^= Smoothness.GetHashCode();
      if (tagData_ != null) hash ^= TagData.GetHashCode();
      if (TrackingMode != 0) hash ^= TrackingMode.GetHashCode();
      if (TargetType != 0) hash ^= TargetType.GetHashCode();
      if (RoleGuid.Length != 0) hash ^= RoleGuid.GetHashCode();
      if (BodyPart != 0) hash ^= BodyPart.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Smoothness != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Smoothness);
      }
      if (tagData_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(TagData);
      }
      if (TrackingMode != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TrackingMode);
      }
      if (TargetType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TargetType);
      }
      if (RoleGuid.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RoleGuid);
      }
      if (BodyPart != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BodyPart);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Smoothness != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Smoothness);
      }
      if (tagData_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(TagData);
      }
      if (TrackingMode != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TrackingMode);
      }
      if (TargetType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TargetType);
      }
      if (RoleGuid.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RoleGuid);
      }
      if (BodyPart != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BodyPart);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Smoothness != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Smoothness);
      }
      if (tagData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(TagData);
      }
      if (TrackingMode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TrackingMode);
      }
      if (TargetType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TargetType);
      }
      if (RoleGuid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RoleGuid);
      }
      if (BodyPart != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BodyPart);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SmoothLookAtData other) {
      if (other == null) {
        return;
      }
      if (other.Smoothness != 0) {
        Smoothness = other.Smoothness;
      }
      if (other.tagData_ != null) {
        if (tagData_ == null) {
          TagData = new global::RecRoom.Protobuf.TagData();
        }
        TagData.MergeFrom(other.TagData);
      }
      if (other.TrackingMode != 0) {
        TrackingMode = other.TrackingMode;
      }
      if (other.TargetType != 0) {
        TargetType = other.TargetType;
      }
      if (other.RoleGuid.Length != 0) {
        RoleGuid = other.RoleGuid;
      }
      if (other.BodyPart != 0) {
        BodyPart = other.BodyPart;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Smoothness = input.ReadInt32();
            break;
          }
          case 18: {
            if (tagData_ == null) {
              TagData = new global::RecRoom.Protobuf.TagData();
            }
            input.ReadMessage(TagData);
            break;
          }
          case 24: {
            TrackingMode = input.ReadInt32();
            break;
          }
          case 32: {
            TargetType = input.ReadInt32();
            break;
          }
          case 42: {
            RoleGuid = input.ReadString();
            break;
          }
          case 48: {
            BodyPart = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Smoothness = input.ReadInt32();
            break;
          }
          case 18: {
            if (tagData_ == null) {
              TagData = new global::RecRoom.Protobuf.TagData();
            }
            input.ReadMessage(TagData);
            break;
          }
          case 24: {
            TrackingMode = input.ReadInt32();
            break;
          }
          case 32: {
            TargetType = input.ReadInt32();
            break;
          }
          case 42: {
            RoleGuid = input.ReadString();
            break;
          }
          case 48: {
            BodyPart = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PistonData : pb::IMessage<PistonData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PistonData> _parser = new pb::MessageParser<PistonData>(() => new PistonData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PistonData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.Protobuf.SandboxGizmoDataReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PistonData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PistonData(PistonData other) : this() {
      maxTravelDistance_ = other.maxTravelDistance_;
      targetDistance_ = other.targetDistance_;
      defaultSpeed_ = other.defaultSpeed_;
      defaultAcceleration_ = other.defaultAcceleration_;
      dEPRECATEDPlayTargetForAll_ = other.dEPRECATEDPlayTargetForAll_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PistonData Clone() {
      return new PistonData(this);
    }

    /// <summary>Field number for the "max_travel_distance" field.</summary>
    public const int MaxTravelDistanceFieldNumber = 1;
    private float maxTravelDistance_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float MaxTravelDistance {
      get { return maxTravelDistance_; }
      set {
        maxTravelDistance_ = value;
      }
    }

    /// <summary>Field number for the "target_distance" field.</summary>
    public const int TargetDistanceFieldNumber = 2;
    private float targetDistance_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float TargetDistance {
      get { return targetDistance_; }
      set {
        targetDistance_ = value;
      }
    }

    /// <summary>Field number for the "default_speed" field.</summary>
    public const int DefaultSpeedFieldNumber = 4;
    private float defaultSpeed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float DefaultSpeed {
      get { return defaultSpeed_; }
      set {
        defaultSpeed_ = value;
      }
    }

    /// <summary>Field number for the "default_acceleration" field.</summary>
    public const int DefaultAccelerationFieldNumber = 5;
    private float defaultAcceleration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float DefaultAcceleration {
      get { return defaultAcceleration_; }
      set {
        defaultAcceleration_ = value;
      }
    }

    /// <summary>Field number for the "DEPRECATED_play_target_for_all" field.</summary>
    public const int DEPRECATEDPlayTargetForAllFieldNumber = 3;
    private bool dEPRECATEDPlayTargetForAll_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool DEPRECATEDPlayTargetForAll {
      get { return dEPRECATEDPlayTargetForAll_; }
      set {
        dEPRECATEDPlayTargetForAll_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PistonData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PistonData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MaxTravelDistance, other.MaxTravelDistance)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TargetDistance, other.TargetDistance)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(DefaultSpeed, other.DefaultSpeed)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(DefaultAcceleration, other.DefaultAcceleration)) return false;
      if (DEPRECATEDPlayTargetForAll != other.DEPRECATEDPlayTargetForAll) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (MaxTravelDistance != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MaxTravelDistance);
      if (TargetDistance != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TargetDistance);
      if (DefaultSpeed != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DefaultSpeed);
      if (DefaultAcceleration != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DefaultAcceleration);
      if (DEPRECATEDPlayTargetForAll != false) hash ^= DEPRECATEDPlayTargetForAll.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (MaxTravelDistance != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(MaxTravelDistance);
      }
      if (TargetDistance != 0F) {
        output.WriteRawTag(21);
        output.WriteFloat(TargetDistance);
      }
      if (DEPRECATEDPlayTargetForAll != false) {
        output.WriteRawTag(24);
        output.WriteBool(DEPRECATEDPlayTargetForAll);
      }
      if (DefaultSpeed != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(DefaultSpeed);
      }
      if (DefaultAcceleration != 0F) {
        output.WriteRawTag(45);
        output.WriteFloat(DefaultAcceleration);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (MaxTravelDistance != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(MaxTravelDistance);
      }
      if (TargetDistance != 0F) {
        output.WriteRawTag(21);
        output.WriteFloat(TargetDistance);
      }
      if (DEPRECATEDPlayTargetForAll != false) {
        output.WriteRawTag(24);
        output.WriteBool(DEPRECATEDPlayTargetForAll);
      }
      if (DefaultSpeed != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(DefaultSpeed);
      }
      if (DefaultAcceleration != 0F) {
        output.WriteRawTag(45);
        output.WriteFloat(DefaultAcceleration);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (MaxTravelDistance != 0F) {
        size += 1 + 4;
      }
      if (TargetDistance != 0F) {
        size += 1 + 4;
      }
      if (DefaultSpeed != 0F) {
        size += 1 + 4;
      }
      if (DefaultAcceleration != 0F) {
        size += 1 + 4;
      }
      if (DEPRECATEDPlayTargetForAll != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PistonData other) {
      if (other == null) {
        return;
      }
      if (other.MaxTravelDistance != 0F) {
        MaxTravelDistance = other.MaxTravelDistance;
      }
      if (other.TargetDistance != 0F) {
        TargetDistance = other.TargetDistance;
      }
      if (other.DefaultSpeed != 0F) {
        DefaultSpeed = other.DefaultSpeed;
      }
      if (other.DefaultAcceleration != 0F) {
        DefaultAcceleration = other.DefaultAcceleration;
      }
      if (other.DEPRECATEDPlayTargetForAll != false) {
        DEPRECATEDPlayTargetForAll = other.DEPRECATEDPlayTargetForAll;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 13: {
            MaxTravelDistance = input.ReadFloat();
            break;
          }
          case 21: {
            TargetDistance = input.ReadFloat();
            break;
          }
          case 24: {
            DEPRECATEDPlayTargetForAll = input.ReadBool();
            break;
          }
          case 37: {
            DefaultSpeed = input.ReadFloat();
            break;
          }
          case 45: {
            DefaultAcceleration = input.ReadFloat();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 13: {
            MaxTravelDistance = input.ReadFloat();
            break;
          }
          case 21: {
            TargetDistance = input.ReadFloat();
            break;
          }
          case 24: {
            DEPRECATEDPlayTargetForAll = input.ReadBool();
            break;
          }
          case 37: {
            DefaultSpeed = input.ReadFloat();
            break;
          }
          case 45: {
            DefaultAcceleration = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class RotatorData : pb::IMessage<RotatorData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RotatorData> _parser = new pb::MessageParser<RotatorData>(() => new RotatorData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RotatorData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.Protobuf.SandboxGizmoDataReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RotatorData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RotatorData(RotatorData other) : this() {
      targetRotation_ = other.targetRotation_;
      defaultSpeed_ = other.defaultSpeed_;
      defaultAcceleration_ = other.defaultAcceleration_;
      dEPRECATEDPlayTargetForAll_ = other.dEPRECATEDPlayTargetForAll_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RotatorData Clone() {
      return new RotatorData(this);
    }

    /// <summary>Field number for the "target_rotation" field.</summary>
    public const int TargetRotationFieldNumber = 1;
    private float targetRotation_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float TargetRotation {
      get { return targetRotation_; }
      set {
        targetRotation_ = value;
      }
    }

    /// <summary>Field number for the "default_speed" field.</summary>
    public const int DefaultSpeedFieldNumber = 3;
    private float defaultSpeed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float DefaultSpeed {
      get { return defaultSpeed_; }
      set {
        defaultSpeed_ = value;
      }
    }

    /// <summary>Field number for the "default_acceleration" field.</summary>
    public const int DefaultAccelerationFieldNumber = 4;
    private float defaultAcceleration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float DefaultAcceleration {
      get { return defaultAcceleration_; }
      set {
        defaultAcceleration_ = value;
      }
    }

    /// <summary>Field number for the "DEPRECATED_play_target_for_all" field.</summary>
    public const int DEPRECATEDPlayTargetForAllFieldNumber = 2;
    private bool dEPRECATEDPlayTargetForAll_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool DEPRECATEDPlayTargetForAll {
      get { return dEPRECATEDPlayTargetForAll_; }
      set {
        dEPRECATEDPlayTargetForAll_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RotatorData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RotatorData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TargetRotation, other.TargetRotation)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(DefaultSpeed, other.DefaultSpeed)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(DefaultAcceleration, other.DefaultAcceleration)) return false;
      if (DEPRECATEDPlayTargetForAll != other.DEPRECATEDPlayTargetForAll) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (TargetRotation != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TargetRotation);
      if (DefaultSpeed != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DefaultSpeed);
      if (DefaultAcceleration != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DefaultAcceleration);
      if (DEPRECATEDPlayTargetForAll != false) hash ^= DEPRECATEDPlayTargetForAll.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (TargetRotation != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(TargetRotation);
      }
      if (DEPRECATEDPlayTargetForAll != false) {
        output.WriteRawTag(16);
        output.WriteBool(DEPRECATEDPlayTargetForAll);
      }
      if (DefaultSpeed != 0F) {
        output.WriteRawTag(29);
        output.WriteFloat(DefaultSpeed);
      }
      if (DefaultAcceleration != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(DefaultAcceleration);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (TargetRotation != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(TargetRotation);
      }
      if (DEPRECATEDPlayTargetForAll != false) {
        output.WriteRawTag(16);
        output.WriteBool(DEPRECATEDPlayTargetForAll);
      }
      if (DefaultSpeed != 0F) {
        output.WriteRawTag(29);
        output.WriteFloat(DefaultSpeed);
      }
      if (DefaultAcceleration != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(DefaultAcceleration);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (TargetRotation != 0F) {
        size += 1 + 4;
      }
      if (DefaultSpeed != 0F) {
        size += 1 + 4;
      }
      if (DefaultAcceleration != 0F) {
        size += 1 + 4;
      }
      if (DEPRECATEDPlayTargetForAll != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RotatorData other) {
      if (other == null) {
        return;
      }
      if (other.TargetRotation != 0F) {
        TargetRotation = other.TargetRotation;
      }
      if (other.DefaultSpeed != 0F) {
        DefaultSpeed = other.DefaultSpeed;
      }
      if (other.DefaultAcceleration != 0F) {
        DefaultAcceleration = other.DefaultAcceleration;
      }
      if (other.DEPRECATEDPlayTargetForAll != false) {
        DEPRECATEDPlayTargetForAll = other.DEPRECATEDPlayTargetForAll;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 13: {
            TargetRotation = input.ReadFloat();
            break;
          }
          case 16: {
            DEPRECATEDPlayTargetForAll = input.ReadBool();
            break;
          }
          case 29: {
            DefaultSpeed = input.ReadFloat();
            break;
          }
          case 37: {
            DefaultAcceleration = input.ReadFloat();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 13: {
            TargetRotation = input.ReadFloat();
            break;
          }
          case 16: {
            DEPRECATEDPlayTargetForAll = input.ReadBool();
            break;
          }
          case 29: {
            DefaultSpeed = input.ReadFloat();
            break;
          }
          case 37: {
            DefaultAcceleration = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
