// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: rec_room/room_load_transient/room_operation_message.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.RoomLoad.Protobuf {

  /// <summary>Holder for reflection information generated from rec_room/room_load_transient/room_operation_message.proto</summary>
  public static partial class RoomOperationMessageReflection {

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

    static RoomOperationMessageReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CjlyZWNfcm9vbS9yb29tX2xvYWRfdHJhbnNpZW50L3Jvb21fb3BlcmF0aW9u",
            "X21lc3NhZ2UucHJvdG8SCXJvb21fbG9hZBoaY29yZS9tZXNzYWdlX29wdGlv",
            "bnMucHJvdG8aFGNvcmUvZ3VpZF9kYXRhLnByb3RvIqoDChRSb29tT3BlcmF0",
            "aW9uTWVzc2FnZRIsCgxtZXNzYWdlX2tpbmQYASABKA4yFi5yb29tX2xvYWQu",
            "TWVzc2FnZUtpbmQSFAoMb3BlcmF0aW9uX2lkGAIgASgMEhwKFHJvb21fYXV0",
            "aG9yaXR5X3BoYXNlGAMgASgFEhcKD2NvbXBsZXRpb25fbWFyaxgEIAEoDBIZ",
            "ChFwbGF5ZXJfYWNjb3VudF9pZBgFIAEoBRI5ChNyb29tX29wZXJhdGlvbl90",
            "eXBlGAogASgOMhwucm9vbV9sb2FkLlJvb21PcGVyYXRpb25UeXBlEjUKCmVy",
            "cm9yX3R5cGUYCyABKA4yIS5yb29tX2xvYWQuUm9vbUF1dGhvcml0eUVycm9y",
            "VHlwZRJEChlyb29tX2xvYWRfcmVxdWVzdF9wYXlsb2FkGBQgASgLMiEucm9v",
            "bV9sb2FkLlJvb21Mb2FkUmVxdWVzdFBheWxvYWQSRAoZcm9vbV9zYXZlX3Jl",
            "cXVlc3RfcGF5bG9hZBgVIAEoCzIhLnJvb21fbG9hZC5Sb29tU2F2ZVJlcXVl",
            "c3RQYXlsb2FkIo8CChZSb29tTG9hZFJlcXVlc3RQYXlsb2FkEhUKDXN1cGVy",
            "X3Jvb21faWQYASABKAMSEwoLc3ViX3Jvb21faWQYAiABKAMSHQoVc3ViX3Jv",
            "b21fZGF0YV9zYXZlX2lkGAMgASgDEjkKD3N1cGVyX3Jvb21fZGF0YRgEIAEo",
            "CzIgLnJvb21fbG9hZC5Qcm90b0ZpbGVuYW1lV2l0aEhhc2gSGQoRc3R1ZGlv",
            "X3Nlc3Npb25faWQYBiABKAkSMwobcm9vbV93aWRlX2Fzc2V0X3NuYXBzaG90",
            "X2lkGAcgASgLMg4uY29yZS5HdWlkRGF0YRIfChdsb2FkX3VzZWRfY29tcGF0",
            "aWJpbGl0eRgIIAEoCCJeChZSb29tU2F2ZVJlcXVlc3RQYXlsb2FkEhMKC2Rl",
            "c2NyaXB0aW9uGAEgASgJEhQKDGF1dG9fcHVibGlzaBgCIAEoCBIZChFzaG91",
            "bGRfc3RhZ2Vfc2F2ZRgDIAEoCCI3ChVQcm90b0ZpbGVuYW1lV2l0aEhhc2gS",
            "EAoIZmlsZW5hbWUYASABKAkSDAoEaGFzaBgCIAEoCSprCgtNZXNzYWdlS2lu",
            "ZBIJCgVFcnJvchAAEhIKDk9wZXJhdGlvblN0YXJ0EAESDwoLUGhhc2VDaGFu",
            "Z2UQAhISCg5Db21wbGV0aW9uTWFyaxADEgoKBlJlbG9hZBAEEgwKCEZpbmlz",
            "aGVkEGQqPAoWUm9vbUF1dGhvcml0eUVycm9yVHlwZRIRCg1JcnJlY292ZXJh",
            "YmxlEAASDwoLUmVjb3ZlcmFibGUQASpMChFSb29tT3BlcmF0aW9uVHlwZRIL",
            "CgdJbnZhbGlkEAASDAoITG9hZFJvb20QARIMCghTYXZlUm9vbRACEg4KClJl",
            "bG9hZFJvb20QA0IcqgIZUmVjUm9vbS5Sb29tTG9hZC5Qcm90b2J1ZmIGcHJv",
            "dG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::RecRoom.Protobuf.Core.MessageOptionsReflection.Descriptor, global::RecRoom.Protobuf.Core.GuidDataReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::RecRoom.RoomLoad.Protobuf.MessageKind), typeof(global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType), typeof(global::RecRoom.RoomLoad.Protobuf.RoomOperationType), }, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.RoomLoad.Protobuf.RoomOperationMessage), global::RecRoom.RoomLoad.Protobuf.RoomOperationMessage.Parser, new[]{ "MessageKind", "OperationId", "RoomAuthorityPhase", "CompletionMark", "PlayerAccountId", "RoomOperationType", "ErrorType", "RoomLoadRequestPayload", "RoomSaveRequestPayload" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.RoomLoad.Protobuf.RoomLoadRequestPayload), global::RecRoom.RoomLoad.Protobuf.RoomLoadRequestPayload.Parser, new[]{ "SuperRoomId", "SubRoomId", "SubRoomDataSaveId", "SuperRoomData", "StudioSessionId", "RoomWideAssetSnapshotId", "LoadUsedCompatibility" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.RoomLoad.Protobuf.RoomSaveRequestPayload), global::RecRoom.RoomLoad.Protobuf.RoomSaveRequestPayload.Parser, new[]{ "Description", "AutoPublish", "ShouldStageSave" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::RecRoom.RoomLoad.Protobuf.ProtoFilenameWithHash), global::RecRoom.RoomLoad.Protobuf.ProtoFilenameWithHash.Parser, new[]{ "Filename", "Hash" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Enums
  public enum MessageKind {
    [pbr::OriginalName("Error")] Error = 0,
    [pbr::OriginalName("OperationStart")] OperationStart = 1,
    [pbr::OriginalName("PhaseChange")] PhaseChange = 2,
    [pbr::OriginalName("CompletionMark")] CompletionMark = 3,
    [pbr::OriginalName("Reload")] Reload = 4,
    [pbr::OriginalName("Finished")] Finished = 100,
  }

  public enum RoomAuthorityErrorType {
    [pbr::OriginalName("Irrecoverable")] Irrecoverable = 0,
    [pbr::OriginalName("Recoverable")] Recoverable = 1,
  }

  public enum RoomOperationType {
    [pbr::OriginalName("Invalid")] Invalid = 0,
    [pbr::OriginalName("LoadRoom")] LoadRoom = 1,
    [pbr::OriginalName("SaveRoom")] SaveRoom = 2,
    [pbr::OriginalName("ReloadRoom")] ReloadRoom = 3,
  }

  #endregion

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.RoomLoad.Protobuf.RoomOperationMessageReflection.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 RoomOperationMessage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RoomOperationMessage(RoomOperationMessage other) : this() {
      messageKind_ = other.messageKind_;
      operationId_ = other.operationId_;
      roomAuthorityPhase_ = other.roomAuthorityPhase_;
      completionMark_ = other.completionMark_;
      playerAccountId_ = other.playerAccountId_;
      roomOperationType_ = other.roomOperationType_;
      errorType_ = other.errorType_;
      roomLoadRequestPayload_ = other.roomLoadRequestPayload_ != null ? other.roomLoadRequestPayload_.Clone() : null;
      roomSaveRequestPayload_ = other.roomSaveRequestPayload_ != null ? other.roomSaveRequestPayload_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "operation_id" field.</summary>
    public const int OperationIdFieldNumber = 2;
    private pb::ByteString operationId_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString OperationId {
      get { return operationId_; }
      set {
        operationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

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

    /// <summary>Field number for the "completion_mark" field.</summary>
    public const int CompletionMarkFieldNumber = 4;
    private pb::ByteString completionMark_ = pb::ByteString.Empty;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString CompletionMark {
      get { return completionMark_; }
      set {
        completionMark_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

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

    /// <summary>Field number for the "room_operation_type" field.</summary>
    public const int RoomOperationTypeFieldNumber = 10;
    private global::RecRoom.RoomLoad.Protobuf.RoomOperationType roomOperationType_ = global::RecRoom.RoomLoad.Protobuf.RoomOperationType.Invalid;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.RoomLoad.Protobuf.RoomOperationType RoomOperationType {
      get { return roomOperationType_; }
      set {
        roomOperationType_ = value;
      }
    }

    /// <summary>Field number for the "error_type" field.</summary>
    public const int ErrorTypeFieldNumber = 11;
    private global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType errorType_ = global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType.Irrecoverable;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType ErrorType {
      get { return errorType_; }
      set {
        errorType_ = value;
      }
    }

    /// <summary>Field number for the "room_load_request_payload" field.</summary>
    public const int RoomLoadRequestPayloadFieldNumber = 20;
    private global::RecRoom.RoomLoad.Protobuf.RoomLoadRequestPayload roomLoadRequestPayload_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.RoomLoad.Protobuf.RoomLoadRequestPayload RoomLoadRequestPayload {
      get { return roomLoadRequestPayload_; }
      set {
        roomLoadRequestPayload_ = value;
      }
    }

    /// <summary>Field number for the "room_save_request_payload" field.</summary>
    public const int RoomSaveRequestPayloadFieldNumber = 21;
    private global::RecRoom.RoomLoad.Protobuf.RoomSaveRequestPayload roomSaveRequestPayload_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.RoomLoad.Protobuf.RoomSaveRequestPayload RoomSaveRequestPayload {
      get { return roomSaveRequestPayload_; }
      set {
        roomSaveRequestPayload_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RoomOperationMessage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MessageKind != other.MessageKind) return false;
      if (OperationId != other.OperationId) return false;
      if (RoomAuthorityPhase != other.RoomAuthorityPhase) return false;
      if (CompletionMark != other.CompletionMark) return false;
      if (PlayerAccountId != other.PlayerAccountId) return false;
      if (RoomOperationType != other.RoomOperationType) return false;
      if (ErrorType != other.ErrorType) return false;
      if (!object.Equals(RoomLoadRequestPayload, other.RoomLoadRequestPayload)) return false;
      if (!object.Equals(RoomSaveRequestPayload, other.RoomSaveRequestPayload)) 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 (MessageKind != global::RecRoom.RoomLoad.Protobuf.MessageKind.Error) hash ^= MessageKind.GetHashCode();
      if (OperationId.Length != 0) hash ^= OperationId.GetHashCode();
      if (RoomAuthorityPhase != 0) hash ^= RoomAuthorityPhase.GetHashCode();
      if (CompletionMark.Length != 0) hash ^= CompletionMark.GetHashCode();
      if (PlayerAccountId != 0) hash ^= PlayerAccountId.GetHashCode();
      if (RoomOperationType != global::RecRoom.RoomLoad.Protobuf.RoomOperationType.Invalid) hash ^= RoomOperationType.GetHashCode();
      if (ErrorType != global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType.Irrecoverable) hash ^= ErrorType.GetHashCode();
      if (roomLoadRequestPayload_ != null) hash ^= RoomLoadRequestPayload.GetHashCode();
      if (roomSaveRequestPayload_ != null) hash ^= RoomSaveRequestPayload.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 (MessageKind != global::RecRoom.RoomLoad.Protobuf.MessageKind.Error) {
        output.WriteRawTag(8);
        output.WriteEnum((int) MessageKind);
      }
      if (OperationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteBytes(OperationId);
      }
      if (RoomAuthorityPhase != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RoomAuthorityPhase);
      }
      if (CompletionMark.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(CompletionMark);
      }
      if (PlayerAccountId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlayerAccountId);
      }
      if (RoomOperationType != global::RecRoom.RoomLoad.Protobuf.RoomOperationType.Invalid) {
        output.WriteRawTag(80);
        output.WriteEnum((int) RoomOperationType);
      }
      if (ErrorType != global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType.Irrecoverable) {
        output.WriteRawTag(88);
        output.WriteEnum((int) ErrorType);
      }
      if (roomLoadRequestPayload_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(RoomLoadRequestPayload);
      }
      if (roomSaveRequestPayload_ != null) {
        output.WriteRawTag(170, 1);
        output.WriteMessage(RoomSaveRequestPayload);
      }
      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 (MessageKind != global::RecRoom.RoomLoad.Protobuf.MessageKind.Error) {
        output.WriteRawTag(8);
        output.WriteEnum((int) MessageKind);
      }
      if (OperationId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteBytes(OperationId);
      }
      if (RoomAuthorityPhase != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RoomAuthorityPhase);
      }
      if (CompletionMark.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(CompletionMark);
      }
      if (PlayerAccountId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlayerAccountId);
      }
      if (RoomOperationType != global::RecRoom.RoomLoad.Protobuf.RoomOperationType.Invalid) {
        output.WriteRawTag(80);
        output.WriteEnum((int) RoomOperationType);
      }
      if (ErrorType != global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType.Irrecoverable) {
        output.WriteRawTag(88);
        output.WriteEnum((int) ErrorType);
      }
      if (roomLoadRequestPayload_ != null) {
        output.WriteRawTag(162, 1);
        output.WriteMessage(RoomLoadRequestPayload);
      }
      if (roomSaveRequestPayload_ != null) {
        output.WriteRawTag(170, 1);
        output.WriteMessage(RoomSaveRequestPayload);
      }
      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 (MessageKind != global::RecRoom.RoomLoad.Protobuf.MessageKind.Error) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MessageKind);
      }
      if (OperationId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(OperationId);
      }
      if (RoomAuthorityPhase != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomAuthorityPhase);
      }
      if (CompletionMark.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(CompletionMark);
      }
      if (PlayerAccountId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerAccountId);
      }
      if (RoomOperationType != global::RecRoom.RoomLoad.Protobuf.RoomOperationType.Invalid) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RoomOperationType);
      }
      if (ErrorType != global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType.Irrecoverable) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ErrorType);
      }
      if (roomLoadRequestPayload_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RoomLoadRequestPayload);
      }
      if (roomSaveRequestPayload_ != null) {
        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RoomSaveRequestPayload);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RoomOperationMessage other) {
      if (other == null) {
        return;
      }
      if (other.MessageKind != global::RecRoom.RoomLoad.Protobuf.MessageKind.Error) {
        MessageKind = other.MessageKind;
      }
      if (other.OperationId.Length != 0) {
        OperationId = other.OperationId;
      }
      if (other.RoomAuthorityPhase != 0) {
        RoomAuthorityPhase = other.RoomAuthorityPhase;
      }
      if (other.CompletionMark.Length != 0) {
        CompletionMark = other.CompletionMark;
      }
      if (other.PlayerAccountId != 0) {
        PlayerAccountId = other.PlayerAccountId;
      }
      if (other.RoomOperationType != global::RecRoom.RoomLoad.Protobuf.RoomOperationType.Invalid) {
        RoomOperationType = other.RoomOperationType;
      }
      if (other.ErrorType != global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType.Irrecoverable) {
        ErrorType = other.ErrorType;
      }
      if (other.roomLoadRequestPayload_ != null) {
        if (roomLoadRequestPayload_ == null) {
          RoomLoadRequestPayload = new global::RecRoom.RoomLoad.Protobuf.RoomLoadRequestPayload();
        }
        RoomLoadRequestPayload.MergeFrom(other.RoomLoadRequestPayload);
      }
      if (other.roomSaveRequestPayload_ != null) {
        if (roomSaveRequestPayload_ == null) {
          RoomSaveRequestPayload = new global::RecRoom.RoomLoad.Protobuf.RoomSaveRequestPayload();
        }
        RoomSaveRequestPayload.MergeFrom(other.RoomSaveRequestPayload);
      }
      _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: {
            MessageKind = (global::RecRoom.RoomLoad.Protobuf.MessageKind) input.ReadEnum();
            break;
          }
          case 18: {
            OperationId = input.ReadBytes();
            break;
          }
          case 24: {
            RoomAuthorityPhase = input.ReadInt32();
            break;
          }
          case 34: {
            CompletionMark = input.ReadBytes();
            break;
          }
          case 40: {
            PlayerAccountId = input.ReadInt32();
            break;
          }
          case 80: {
            RoomOperationType = (global::RecRoom.RoomLoad.Protobuf.RoomOperationType) input.ReadEnum();
            break;
          }
          case 88: {
            ErrorType = (global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType) input.ReadEnum();
            break;
          }
          case 162: {
            if (roomLoadRequestPayload_ == null) {
              RoomLoadRequestPayload = new global::RecRoom.RoomLoad.Protobuf.RoomLoadRequestPayload();
            }
            input.ReadMessage(RoomLoadRequestPayload);
            break;
          }
          case 170: {
            if (roomSaveRequestPayload_ == null) {
              RoomSaveRequestPayload = new global::RecRoom.RoomLoad.Protobuf.RoomSaveRequestPayload();
            }
            input.ReadMessage(RoomSaveRequestPayload);
            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: {
            MessageKind = (global::RecRoom.RoomLoad.Protobuf.MessageKind) input.ReadEnum();
            break;
          }
          case 18: {
            OperationId = input.ReadBytes();
            break;
          }
          case 24: {
            RoomAuthorityPhase = input.ReadInt32();
            break;
          }
          case 34: {
            CompletionMark = input.ReadBytes();
            break;
          }
          case 40: {
            PlayerAccountId = input.ReadInt32();
            break;
          }
          case 80: {
            RoomOperationType = (global::RecRoom.RoomLoad.Protobuf.RoomOperationType) input.ReadEnum();
            break;
          }
          case 88: {
            ErrorType = (global::RecRoom.RoomLoad.Protobuf.RoomAuthorityErrorType) input.ReadEnum();
            break;
          }
          case 162: {
            if (roomLoadRequestPayload_ == null) {
              RoomLoadRequestPayload = new global::RecRoom.RoomLoad.Protobuf.RoomLoadRequestPayload();
            }
            input.ReadMessage(RoomLoadRequestPayload);
            break;
          }
          case 170: {
            if (roomSaveRequestPayload_ == null) {
              RoomSaveRequestPayload = new global::RecRoom.RoomLoad.Protobuf.RoomSaveRequestPayload();
            }
            input.ReadMessage(RoomSaveRequestPayload);
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.RoomLoad.Protobuf.RoomOperationMessageReflection.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 RoomLoadRequestPayload() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RoomLoadRequestPayload(RoomLoadRequestPayload other) : this() {
      superRoomId_ = other.superRoomId_;
      subRoomId_ = other.subRoomId_;
      subRoomDataSaveId_ = other.subRoomDataSaveId_;
      superRoomData_ = other.superRoomData_ != null ? other.superRoomData_.Clone() : null;
      studioSessionId_ = other.studioSessionId_;
      roomWideAssetSnapshotId_ = other.roomWideAssetSnapshotId_ != null ? other.roomWideAssetSnapshotId_.Clone() : null;
      loadUsedCompatibility_ = other.loadUsedCompatibility_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "sub_room_id" field.</summary>
    public const int SubRoomIdFieldNumber = 2;
    private long subRoomId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long SubRoomId {
      get { return subRoomId_; }
      set {
        subRoomId_ = value;
      }
    }

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

    /// <summary>Field number for the "super_room_data" field.</summary>
    public const int SuperRoomDataFieldNumber = 4;
    private global::RecRoom.RoomLoad.Protobuf.ProtoFilenameWithHash superRoomData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::RecRoom.RoomLoad.Protobuf.ProtoFilenameWithHash SuperRoomData {
      get { return superRoomData_; }
      set {
        superRoomData_ = value;
      }
    }

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

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

    /// <summary>Field number for the "load_used_compatibility" field.</summary>
    public const int LoadUsedCompatibilityFieldNumber = 8;
    private bool loadUsedCompatibility_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool LoadUsedCompatibility {
      get { return loadUsedCompatibility_; }
      set {
        loadUsedCompatibility_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RoomLoadRequestPayload other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (SuperRoomId != other.SuperRoomId) return false;
      if (SubRoomId != other.SubRoomId) return false;
      if (SubRoomDataSaveId != other.SubRoomDataSaveId) return false;
      if (!object.Equals(SuperRoomData, other.SuperRoomData)) return false;
      if (StudioSessionId != other.StudioSessionId) return false;
      if (!object.Equals(RoomWideAssetSnapshotId, other.RoomWideAssetSnapshotId)) return false;
      if (LoadUsedCompatibility != other.LoadUsedCompatibility) 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 (SuperRoomId != 0L) hash ^= SuperRoomId.GetHashCode();
      if (SubRoomId != 0L) hash ^= SubRoomId.GetHashCode();
      if (SubRoomDataSaveId != 0L) hash ^= SubRoomDataSaveId.GetHashCode();
      if (superRoomData_ != null) hash ^= SuperRoomData.GetHashCode();
      if (StudioSessionId.Length != 0) hash ^= StudioSessionId.GetHashCode();
      if (roomWideAssetSnapshotId_ != null) hash ^= RoomWideAssetSnapshotId.GetHashCode();
      if (LoadUsedCompatibility != false) hash ^= LoadUsedCompatibility.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 (SuperRoomId != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(SuperRoomId);
      }
      if (SubRoomId != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(SubRoomId);
      }
      if (SubRoomDataSaveId != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(SubRoomDataSaveId);
      }
      if (superRoomData_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(SuperRoomData);
      }
      if (StudioSessionId.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(StudioSessionId);
      }
      if (roomWideAssetSnapshotId_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(RoomWideAssetSnapshotId);
      }
      if (LoadUsedCompatibility != false) {
        output.WriteRawTag(64);
        output.WriteBool(LoadUsedCompatibility);
      }
      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 (SuperRoomId != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(SuperRoomId);
      }
      if (SubRoomId != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(SubRoomId);
      }
      if (SubRoomDataSaveId != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(SubRoomDataSaveId);
      }
      if (superRoomData_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(SuperRoomData);
      }
      if (StudioSessionId.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(StudioSessionId);
      }
      if (roomWideAssetSnapshotId_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(RoomWideAssetSnapshotId);
      }
      if (LoadUsedCompatibility != false) {
        output.WriteRawTag(64);
        output.WriteBool(LoadUsedCompatibility);
      }
      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 (SuperRoomId != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(SuperRoomId);
      }
      if (SubRoomId != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(SubRoomId);
      }
      if (SubRoomDataSaveId != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(SubRoomDataSaveId);
      }
      if (superRoomData_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SuperRoomData);
      }
      if (StudioSessionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StudioSessionId);
      }
      if (roomWideAssetSnapshotId_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomWideAssetSnapshotId);
      }
      if (LoadUsedCompatibility != 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(RoomLoadRequestPayload other) {
      if (other == null) {
        return;
      }
      if (other.SuperRoomId != 0L) {
        SuperRoomId = other.SuperRoomId;
      }
      if (other.SubRoomId != 0L) {
        SubRoomId = other.SubRoomId;
      }
      if (other.SubRoomDataSaveId != 0L) {
        SubRoomDataSaveId = other.SubRoomDataSaveId;
      }
      if (other.superRoomData_ != null) {
        if (superRoomData_ == null) {
          SuperRoomData = new global::RecRoom.RoomLoad.Protobuf.ProtoFilenameWithHash();
        }
        SuperRoomData.MergeFrom(other.SuperRoomData);
      }
      if (other.StudioSessionId.Length != 0) {
        StudioSessionId = other.StudioSessionId;
      }
      if (other.roomWideAssetSnapshotId_ != null) {
        if (roomWideAssetSnapshotId_ == null) {
          RoomWideAssetSnapshotId = new global::RecRoom.Protobuf.Core.GuidData();
        }
        RoomWideAssetSnapshotId.MergeFrom(other.RoomWideAssetSnapshotId);
      }
      if (other.LoadUsedCompatibility != false) {
        LoadUsedCompatibility = other.LoadUsedCompatibility;
      }
      _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: {
            SuperRoomId = input.ReadInt64();
            break;
          }
          case 16: {
            SubRoomId = input.ReadInt64();
            break;
          }
          case 24: {
            SubRoomDataSaveId = input.ReadInt64();
            break;
          }
          case 34: {
            if (superRoomData_ == null) {
              SuperRoomData = new global::RecRoom.RoomLoad.Protobuf.ProtoFilenameWithHash();
            }
            input.ReadMessage(SuperRoomData);
            break;
          }
          case 50: {
            StudioSessionId = input.ReadString();
            break;
          }
          case 58: {
            if (roomWideAssetSnapshotId_ == null) {
              RoomWideAssetSnapshotId = new global::RecRoom.Protobuf.Core.GuidData();
            }
            input.ReadMessage(RoomWideAssetSnapshotId);
            break;
          }
          case 64: {
            LoadUsedCompatibility = 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 8: {
            SuperRoomId = input.ReadInt64();
            break;
          }
          case 16: {
            SubRoomId = input.ReadInt64();
            break;
          }
          case 24: {
            SubRoomDataSaveId = input.ReadInt64();
            break;
          }
          case 34: {
            if (superRoomData_ == null) {
              SuperRoomData = new global::RecRoom.RoomLoad.Protobuf.ProtoFilenameWithHash();
            }
            input.ReadMessage(SuperRoomData);
            break;
          }
          case 50: {
            StudioSessionId = input.ReadString();
            break;
          }
          case 58: {
            if (roomWideAssetSnapshotId_ == null) {
              RoomWideAssetSnapshotId = new global::RecRoom.Protobuf.Core.GuidData();
            }
            input.ReadMessage(RoomWideAssetSnapshotId);
            break;
          }
          case 64: {
            LoadUsedCompatibility = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.RoomLoad.Protobuf.RoomOperationMessageReflection.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 RoomSaveRequestPayload() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RoomSaveRequestPayload other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Description != other.Description) return false;
      if (AutoPublish != other.AutoPublish) return false;
      if (ShouldStageSave != other.ShouldStageSave) 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 (Description.Length != 0) hash ^= Description.GetHashCode();
      if (AutoPublish != false) hash ^= AutoPublish.GetHashCode();
      if (ShouldStageSave != false) hash ^= ShouldStageSave.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 (Description.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Description);
      }
      if (AutoPublish != false) {
        output.WriteRawTag(16);
        output.WriteBool(AutoPublish);
      }
      if (ShouldStageSave != false) {
        output.WriteRawTag(24);
        output.WriteBool(ShouldStageSave);
      }
      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 (Description.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Description);
      }
      if (AutoPublish != false) {
        output.WriteRawTag(16);
        output.WriteBool(AutoPublish);
      }
      if (ShouldStageSave != false) {
        output.WriteRawTag(24);
        output.WriteBool(ShouldStageSave);
      }
      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 (Description.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (AutoPublish != false) {
        size += 1 + 1;
      }
      if (ShouldStageSave != 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(RoomSaveRequestPayload other) {
      if (other == null) {
        return;
      }
      if (other.Description.Length != 0) {
        Description = other.Description;
      }
      if (other.AutoPublish != false) {
        AutoPublish = other.AutoPublish;
      }
      if (other.ShouldStageSave != false) {
        ShouldStageSave = other.ShouldStageSave;
      }
      _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: {
            Description = input.ReadString();
            break;
          }
          case 16: {
            AutoPublish = input.ReadBool();
            break;
          }
          case 24: {
            ShouldStageSave = 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 10: {
            Description = input.ReadString();
            break;
          }
          case 16: {
            AutoPublish = input.ReadBool();
            break;
          }
          case 24: {
            ShouldStageSave = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::RecRoom.RoomLoad.Protobuf.RoomOperationMessageReflection.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 ProtoFilenameWithHash() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ProtoFilenameWithHash other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Filename != other.Filename) return false;
      if (Hash != other.Hash) 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 (Filename.Length != 0) hash ^= Filename.GetHashCode();
      if (Hash.Length != 0) hash ^= Hash.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 (Filename.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Filename);
      }
      if (Hash.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Hash);
      }
      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 (Filename.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Filename);
      }
      if (Hash.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Hash);
      }
      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 (Filename.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Filename);
      }
      if (Hash.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Hash);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ProtoFilenameWithHash other) {
      if (other == null) {
        return;
      }
      if (other.Filename.Length != 0) {
        Filename = other.Filename;
      }
      if (other.Hash.Length != 0) {
        Hash = other.Hash;
      }
      _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: {
            Filename = input.ReadString();
            break;
          }
          case 18: {
            Hash = input.ReadString();
            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: {
            Filename = input.ReadString();
            break;
          }
          case 18: {
            Hash = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
