// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: protobuf_AxibugEmuOnline.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#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 AxibugProtobuf {

  /// <summary>Holder for reflection information generated from protobuf_AxibugEmuOnline.proto</summary>
  public static partial class ProtobufAxibugEmuOnlineReflection {

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

    static ProtobufAxibugEmuOnlineReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Ch5wcm90b2J1Zl9BeGlidWdFbXVPbmxpbmUucHJvdG8SDkF4aWJ1Z1Byb3Rv",
            "YnVmIiMKEFByb3RvYnVmX0NoYXRNc2cSDwoHQ2hhdE1zZxgBIAEoCSJIChVQ",
            "cm90b2J1Zl9DaGF0TXNnX1JFU1ASEAoITmlja05hbWUYASABKAkSDwoHQ2hh",
            "dE1zZxgCIAEoCRIMCgREYXRlGAMgASgDIh0KDVByb3RvYnVmX1BpbmcSDAoE",
            "U2VlZBgBIAEoBSIdCg1Qcm90b2J1Zl9Qb25nEgwKBFNlZWQYASABKAUipAEK",
            "DlByb3RvYnVmX0xvZ2luEiwKCWxvZ2luVHlwZRgBIAEoDjIZLkF4aWJ1Z1By",
            "b3RvYnVmLkxvZ2luVHlwZRIuCgpkZXZpY2VUeXBlGAIgASgOMhouQXhpYnVn",
            "UHJvdG9idWYuRGV2aWNlVHlwZRIRCglkZXZpY2VTdHIYAyABKAkSDwoHQWNj",
            "b3VudBgEIAEoCRIQCghQYXNzd29yZBgFIAEoCSKeAQoTUHJvdG9idWZfTG9n",
            "aW5fUkVTUBIQCghOaWNrTmFtZRgBIAEoCRINCgVUb2tlbhgCIAEoCRIVCg1M",
            "YXN0TG9naW5EYXRlGAMgASgJEg8KB1JlZ0RhdGUYBCABKAkSMQoGU3RhdHVz",
            "GAUgASgOMiEuQXhpYnVnUHJvdG9idWYuTG9naW5SZXN1bHRTdGF0dXMSCwoD",
            "VUlEGAYgASgDIkgKFVByb3RvYnVmX1Rva2VuX1N0cnVjdBILCgNVSUQYASAB",
            "KAMSFAoMVG9rZW5HZW5EYXRlGAIgASgDEgwKBFNlZWQYAyABKAMiEwoRUHJv",
            "dG9idWZfVXNlckxpc3QiWwoWUHJvdG9idWZfVXNlckxpc3RfUkVTUBIRCglV",
            "c2VyQ291bnQYASABKAUSLgoIVXNlckxpc3QYAiADKAsyHC5BeGlidWdQcm90",
            "b2J1Zi5Vc2VyTWluaUluZm8iSAoWUHJvdG9idWZfVXNlckpvaW5fUkVTUBIu",
            "CghVc2VySW5mbxgBIAEoCzIcLkF4aWJ1Z1Byb3RvYnVmLlVzZXJNaW5pSW5m",
            "byImChdQcm90b2J1Zl9Vc2VyTGVhdmVfUkVTUBILCgNVSUQYASABKAMiNQoX",
            "UHJvdG9idWZfVXNlclN0YXRlX1JFU1ASCwoDVUlEGAEgASgDEg0KBVN0YXRl",
            "GAIgASgFIl0KDFVzZXJNaW5pSW5mbxILCgNVSUQYASABKAMSEAoITmlja05h",
            "bWUYAiABKAkSLgoKZGV2aWNlVHlwZRgDIAEoDjIaLkF4aWJ1Z1Byb3RvYnVm",
            "LkRldmljZVR5cGUiLAoYUHJvdG9idWZfTW9kaWZ5X05pY2tOYW1lEhAKCE5p",
            "Y2tOYW1lGAEgASgJIh8KHVByb3RvYnVmX01vZGlmeV9OaWNrTmFtZV9SRVNQ",
            "Ik8KHVByb3RvYnVmX1VwZGF0ZV9Vc2VySW5mb19SRVNQEi4KCFVzZXJJbmZv",
            "GAEgASgLMhwuQXhpYnVnUHJvdG9idWYuVXNlck1pbmlJbmZvImEKIlByb3Rv",
            "YnVmX1VwZGF0ZV9PdGhlclVzZXJJbmZvX1JFU1ASCwoDVUlEGAEgASgDEi4K",
            "CFVzZXJJbmZvGAIgASgLMhwuQXhpYnVnUHJvdG9idWYuVXNlck1pbmlJbmZv",
            "IhQKElByb3RvYnVmX1Jvb21fTGlzdCJbChdQcm90b2J1Zl9Sb29tX0xpc3Rf",
            "UkVTUBJAChBSb29tTWluaUluZm9MaXN0GAEgAygLMiYuQXhpYnVnUHJvdG9i",
            "dWYuUHJvdG9idWZfUm9vbV9NaW5pSW5mbyLLAgoWUHJvdG9idWZfUm9vbV9N",
            "aW5pSW5mbxIOCgZSb29tSUQYASABKAUSEQoJR2FtZVJvbUlEGAIgASgFEhMK",
            "C0dhbWVSb21IYXNoGAMgASgJEjkKEEdhbWVQbGF0Zm9ybVR5cGUYBCABKA4y",
            "Hy5BeGlidWdQcm90b2J1Zi5Sb21QbGF0Zm9ybVR5cGUSFQoNSG9zdFBsYXll",
            "clVJRBgFIAEoAxIwCglHYW1lU3RhdGUYBiABKA4yHS5BeGlidWdQcm90b2J1",
            "Zi5Sb29tR2FtZVN0YXRlEhQKDE9ic1VzZXJDb3VudBgHIAEoBRIZChFTY3Jl",
            "ZW5Qcm92aWRlclVJRBgIIAEoAxJEChBHYW1lUGxheVNsb3RMaXN0GAkgAygL",
            "MiouQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfUm9vbV9HYW1lUGxheVNsb3Qi",
            "0QEKGlByb3RvYnVmX1Jvb21fR2FtZVBsYXlTbG90EhIKClBsYXllcl9VSUQY",
            "ASABKAMSFwoPUGxheWVyX05pY2tOYW1lGAIgASgJEi4KCmRldmljZVR5cGUY",
            "AyABKA4yGi5BeGlidWdQcm90b2J1Zi5EZXZpY2VUeXBlEhkKEVBsYXllckxv",
            "Y2FsSm95SWR4GAQgASgFEjsKFlBsYXllckxvY2FsR2FtZVBhZFR5cGUYBSAB",
            "KA4yGy5BeGlidWdQcm90b2J1Zi5HYW1lUGFkVHlwZSJtChlQcm90b2J1Zl9S",
            "b29tX1VwZGF0ZV9SRVNQEhIKClVwZGF0ZVR5cGUYASABKAUSPAoMUm9vbU1p",
            "bmlJbmZvGAIgASgLMiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfUm9vbV9N",
            "aW5pSW5mbyJLChVQcm90b2J1Zl9TY3Jlbm5fRnJhbWUSDgoGUm9vbUlEGAEg",
            "ASgFEg8KB0ZyYW1lSUQYAiABKAUSEQoJUmF3Qml0bWFwGAMgASgMIkkKI1By",
            "b3RvYnVmX1Jvb21fU2luZ2xlUGxheWVySW5wdXREYXRhEg8KB0ZyYW1lSUQY",
            "ASABKA0SEQoJSW5wdXREYXRhGAIgASgNIoABCidQcm90b2J1Zl9Sb29tX1N5",
            "bl9Sb29tRnJhbWVBbGxJbnB1dERhdGESDwoHRnJhbWVJRBgBIAEoDRIRCglJ",
            "bnB1dERhdGEYAiABKAQSFQoNU2VydmVyRnJhbWVJRBgDIAEoDRIaChJTZXJ2",
            "ZXJGb3J3YXJkQ291bnQYBCABKA0iPgoUUHJvdG9idWZfUm9vbV9DcmVhdGUS",
            "EQoJR2FtZVJvbUlEGAEgASgFEhMKC0dhbWVSb21IYXNoGAIgASgJIlkKGVBy",
            "b3RvYnVmX1Jvb21fQ3JlYXRlX1JFU1ASPAoMUm9vbU1pbmlJbmZvGAEgASgL",
            "MiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfUm9vbV9NaW5pSW5mbyIkChJQ",
            "cm90b2J1Zl9Sb29tX0pvaW4SDgoGUm9vbUlEGAEgASgFIlcKF1Byb3RvYnVm",
            "X1Jvb21fSm9pbl9SRVNQEjwKDFJvb21NaW5pSW5mbxgBIAEoCzImLkF4aWJ1",
            "Z1Byb3RvYnVmLlByb3RvYnVmX1Jvb21fTWluaUluZm8iJQoTUHJvdG9idWZf",
            "Um9vbV9MZWF2ZRIOCgZSb29tSUQYASABKAUiKgoYUHJvdG9idWZfUm9vbV9M",
            "ZWF2ZV9SRVNQEg4KBlJvb21JRBgBIAEoBSJhCiFQcm90b2J1Zl9Sb29tX015",
            "Um9vbV9TdGF0ZV9DaGFuZ2USPAoMUm9vbU1pbmlJbmZvGAEgASgLMiYuQXhp",
            "YnVnUHJvdG9idWYuUHJvdG9idWZfUm9vbV9NaW5pSW5mbyJrCiRQcm90b2J1",
            "Zl9Sb29tX0NoYW5nZV9QbGF5U2xvdFdpdGhKb3kSQwoLU2xvdFdpdGhKb3kY",
            "ASADKAsyLi5BeGlidWdQcm90b2J1Zi5Qcm90b2J1Zl9QbGF5U2xvdElkeFdp",
            "dGhKb3lJZHgijwEKHlByb3RvYnVmX1BsYXlTbG90SWR4V2l0aEpveUlkeBIV",
            "Cg1QbGF5ZXJTbG90SWR4GAEgASgFEhkKEVBsYXllckxvY2FsSm95SWR4GAIg",
            "ASgFEjsKFlBsYXllckxvY2FsR2FtZVBhZFR5cGUYAyABKA4yGy5BeGlidWdQ",
            "cm90b2J1Zi5HYW1lUGFkVHlwZSIrCilQcm90b2J1Zl9Sb29tX0NoYW5nZV9Q",
            "bGF5U2xvdFdpdGhKb3lfUkVTUCJFChtQcm90b2J1Zl9Sb29tX1dhaXRTdGVw",
            "X1JFU1ASEAoIV2FpdFN0ZXAYASABKAUSFAoMTG9hZFN0YXRlUmF3GAIgASgM",
            "Ij8KJ1Byb3RvYnVmX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxIU",
            "CgxMb2FkU3RhdGVSYXcYASABKAwiLgosUHJvdG9idWZfUm9vbV9Ib3N0UGxh",
            "eWVyX1VwZGF0ZVN0YXRlUmF3X1JFU1AimgEKGlByb3RvYnVmX1Jvb21fUGxh",
            "eWVyX1JlYWR5EhsKE1B1c2hGcmFtZU5lZWRUaW1lVXMYASABKAISGwoTTG9h",
            "ZFN0YXRlTmVlZFRpbWVVcxgCIAEoAhIgChhWaWRlb0ZyYW1lU2hvd05lZWRU",
            "aW1lVXMYAyABKAISIAoYQXVkaW9GcmFtZVBsYXlOZWVkVGltZVVzGAQgASgC",
            "IioKGFByb3RvYnVmX1Jvb21fR2V0X1NjcmVlbhIOCgZSb29tSUQYASABKAUi",
            "UwodUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuX1JFU1ASDgoGUm9vbUlEGAEg",
            "ASgFEg8KB0ZyYW1lSUQYAiABKAUSEQoJUmF3Qml0bWFwGAMgASgMIjMKElBy",
            "b3RvYnVmX0dhbWVfTWFyaxINCgVSb21JRBgBIAEoBRIOCgZtb3Rpb24YAiAB",
            "KAUiRwoXUHJvdG9idWZfR2FtZV9NYXJrX1JFU1ASDQoFUm9tSUQYASABKAUS",
            "DgoGSXNTdGFyGAIgASgFEg0KBXN0YXJzGAMgASgFIi0KHFByb3RvYnVmX01p",
            "bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
            "TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
            "dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
            "ZV9HYW1lU2F2SW5mbyLiAQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
            "CgxiSGFkU2F2ZURhdGEYASABKAgSEgoKU2F2RGF0YUlkeBgCIAEoBRINCgVS",
            "b21JRBgDIAEoBRI5ChBHYW1lUGxhdGZvcm1UeXBlGAQgASgOMh8uQXhpYnVn",
            "UHJvdG9idWYuUm9tUGxhdGZvcm1UeXBlEg8KB1NhdkRhdGUYBSABKAkSDwoH",
            "U2F2TmFtZRgGIAEoCRIMCgROb3RlGAcgASgJEhEKCVNhdkltZ1VybBgIIAEo",
            "CRIOCgZTYXZVcmwYCSABKAkiPQoYUHJvdG9idWZfTWluZV9EZWxHYW1lU2F2",
            "Eg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUiQgodUHJvdG9i",
            "dWZfTWluZV9EZWxHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoKU2F2",
            "RGF0YUlkeBgCIAEoBSJiChtQcm90b2J1Zl9NaW5lX1VwTG9hZEdhbWVTYXYS",
            "DQoFUm9tSUQYASABKAUSEgoKU2F2RGF0YUlkeBgCIAEoBRIOCgZTYXZJbWcY",
            "AyABKAwSEAoIU3RhdGVSYXcYBCABKAwicwogUHJvdG9idWZfTWluZV9VcExv",
            "YWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSQAoNVXBsb2FkU2V2SW5m",
            "bxgCIAEoCzIpLkF4aWJ1Z1Byb3RvYnVmLlByb3RvYnVmX01pbmVfR2FtZVNh",
            "dkluZm8q/wUKCUNvbW1hbmRJRBIOCgpDTURfREVGQVVMEAASDAoIQ01EX1BJ",
            "TkcQARIMCghDTURfUE9ORxACEg4KCUNNRF9MT0dJThDRDxIYChNDTURfVVNF",
            "Ul9PTkxJTkVMSVNUELgXEhIKDUNNRF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VT",
            "RVJfTEVBVkUQ2BcSGgoVQ01EX1VTRVJfU1RBVEVfVVBEQVRFENkXEhgKE0NN",
            "RF9Nb2RpZnlfTmlja05hbWUQnRgSHAoXQ01EX1VwZGF0ZV9TZWxmVXNlcklu",
            "Zm8QphgSHQoYQ01EX1VwZGF0ZV9PdGhlclVzZXJJbmZvEKgYEhAKC0NNRF9D",
            "SEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21fTGlz",
            "dF9VcGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCTJxIUCg9DTURf",
            "Um9vbV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxITCg5DTURfUm9v",
            "bV9MZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2",
            "JxIhChxDTURfUm9vbV9DaGFuZ2VQbGF5ZXJXaXRoSm95EIooEhYKEUNNRF9S",
            "b29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRl",
            "U3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5ENgoEiAKG0NN",
            "RF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURfUk9PTV9TWU5f",
            "UGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhIfChpDTURfR0FNRVNB",
            "Vl9HZXRHYW1lU2F2TGlzdBDBPhIbChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2",
            "EMU+Eh4KGUNNRF9HQU1FU0FWX1VwbG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dB",
            "TUVfTUFSSxD1TirxAQoJRXJyb3JDb2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwK",
            "CEVSUk9SX09LEAESGAoURVJST1JfUk9PTV9OT1RfRk9VTkQQChInCiNFUlJP",
            "Ul9ST09NX1NMT1RfQUxSRUFETFlfSEFEX1BMQVlFUhALEiEKHUVSUk9SX1JP",
            "T01fQ0FOVF9ET19DVVJSX1NUQVRFEDISHwobRVJST1JfUk9NX0RPTlRfSEFE",
            "X1NBVkVEQVRBEFASHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS",
            "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K",
            "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv",
            "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS",
            "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz",
            "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV",
            "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh",
            "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K",
            "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE",
            "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp",
            "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u",
            "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL",
            "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ",
            "DSqiAQoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR",
            "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ",
            "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT",
            "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0",
            "YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0",
            "UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9u",
            "bGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3Vs",
            "dFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychAC",
            "QgJIAWIGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Ping), global::AxibugProtobuf.Protobuf_Ping.Parser, new[]{ "Seed" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Pong), global::AxibugProtobuf.Protobuf_Pong.Parser, new[]{ "Seed" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Login), global::AxibugProtobuf.Protobuf_Login.Parser, new[]{ "LoginType", "DeviceType", "DeviceStr", "Account", "Password" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Login_RESP), global::AxibugProtobuf.Protobuf_Login_RESP.Parser, new[]{ "NickName", "Token", "LastLoginDate", "RegDate", "Status", "UID" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Token_Struct), global::AxibugProtobuf.Protobuf_Token_Struct.Parser, new[]{ "UID", "TokenGenDate", "Seed" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_UserList), global::AxibugProtobuf.Protobuf_UserList.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_UserList_RESP), global::AxibugProtobuf.Protobuf_UserList_RESP.Parser, new[]{ "UserCount", "UserList" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_UserJoin_RESP), global::AxibugProtobuf.Protobuf_UserJoin_RESP.Parser, new[]{ "UserInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_UserLeave_RESP), global::AxibugProtobuf.Protobuf_UserLeave_RESP.Parser, new[]{ "UID" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_UserState_RESP), global::AxibugProtobuf.Protobuf_UserState_RESP.Parser, new[]{ "UID", "State" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.UserMiniInfo), global::AxibugProtobuf.UserMiniInfo.Parser, new[]{ "UID", "NickName", "DeviceType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Modify_NickName), global::AxibugProtobuf.Protobuf_Modify_NickName.Parser, new[]{ "NickName" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Modify_NickName_RESP), global::AxibugProtobuf.Protobuf_Modify_NickName_RESP.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Update_UserInfo_RESP), global::AxibugProtobuf.Protobuf_Update_UserInfo_RESP.Parser, new[]{ "UserInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Update_OtherUserInfo_RESP), global::AxibugProtobuf.Protobuf_Update_OtherUserInfo_RESP.Parser, new[]{ "UID", "UserInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_List), global::AxibugProtobuf.Protobuf_Room_List.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_List_RESP), global::AxibugProtobuf.Protobuf_Room_List_RESP.Parser, new[]{ "RoomMiniInfoList" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_MiniInfo), global::AxibugProtobuf.Protobuf_Room_MiniInfo.Parser, new[]{ "RoomID", "GameRomID", "GameRomHash", "GamePlatformType", "HostPlayerUID", "GameState", "ObsUserCount", "ScreenProviderUID", "GamePlaySlotList" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_GamePlaySlot), global::AxibugProtobuf.Protobuf_Room_GamePlaySlot.Parser, new[]{ "PlayerUID", "PlayerNickName", "DeviceType", "PlayerLocalJoyIdx", "PlayerLocalGamePadType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Update_RESP), global::AxibugProtobuf.Protobuf_Room_Update_RESP.Parser, new[]{ "UpdateType", "RoomMiniInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Screnn_Frame), global::AxibugProtobuf.Protobuf_Screnn_Frame.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData), global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData.Parser, new[]{ "FrameID", "InputData" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData), global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData.Parser, new[]{ "FrameID", "InputData", "ServerFrameID", "ServerForwardCount" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create), global::AxibugProtobuf.Protobuf_Room_Create.Parser, new[]{ "GameRomID", "GameRomHash" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create_RESP), global::AxibugProtobuf.Protobuf_Room_Create_RESP.Parser, new[]{ "RoomMiniInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Join), global::AxibugProtobuf.Protobuf_Room_Join.Parser, new[]{ "RoomID" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Join_RESP), global::AxibugProtobuf.Protobuf_Room_Join_RESP.Parser, new[]{ "RoomMiniInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Leave), global::AxibugProtobuf.Protobuf_Room_Leave.Parser, new[]{ "RoomID" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Leave_RESP), global::AxibugProtobuf.Protobuf_Room_Leave_RESP.Parser, new[]{ "RoomID" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_MyRoom_State_Change), global::AxibugProtobuf.Protobuf_Room_MyRoom_State_Change.Parser, new[]{ "RoomMiniInfo" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Change_PlaySlotWithJoy), global::AxibugProtobuf.Protobuf_Room_Change_PlaySlotWithJoy.Parser, new[]{ "SlotWithJoy" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_PlaySlotIdxWithJoyIdx), global::AxibugProtobuf.Protobuf_PlaySlotIdxWithJoyIdx.Parser, new[]{ "PlayerSlotIdx", "PlayerLocalJoyIdx", "PlayerLocalGamePadType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Change_PlaySlotWithJoy_RESP), global::AxibugProtobuf.Protobuf_Room_Change_PlaySlotWithJoy_RESP.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP), global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP.Parser, new[]{ "WaitStep", "LoadStateRaw" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw.Parser, new[]{ "LoadStateRaw" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP.Parser, null, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, new[]{ "PushFrameNeedTimeUs", "LoadStateNeedTimeUs", "VideoFrameShowNeedTimeUs", "AudioFramePlayNeedTimeUs" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark), global::AxibugProtobuf.Protobuf_Game_Mark.Parser, new[]{ "RomID", "Motion" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "SavImg", "StateRaw" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "UploadSevInfo" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Enums
  public enum CommandID {
    /// <summary>
    ///缺省不使用
    /// </summary>
    [pbr::OriginalName("CMD_DEFAUL")] CmdDefaul = 0,
    /// <summary>
    ///服务器或客户端,均可主动ping请求,对方响应。(这里测全流程延迟,即序 列化->发送->传输过程->接收->反序列化)
    /// </summary>
    [pbr::OriginalName("CMD_PING")] CmdPing = 1,
    /// <summary>
    ///Pong | 响应 对应 Protobuf_Pong
    /// </summary>
    [pbr::OriginalName("CMD_PONG")] CmdPong = 2,
    /// <summary>
    ///自动登录上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP
    /// </summary>
    [pbr::OriginalName("CMD_LOGIN")] CmdLogin = 2001,
    /// <summary>
    ///获取在线用户列表 上行 | 下行 对应 Protobuf_UserList | Protobuf_UserList_RESP
    /// </summary>
    [pbr::OriginalName("CMD_USER_ONLINELIST")] CmdUserOnlinelist = 3000,
    /// <summary>
    ///用户上线 下行 对应 Protobuf_UserOnline_RESP
    /// </summary>
    [pbr::OriginalName("CMD_USER_JOIN")] CmdUserJoin = 3031,
    /// <summary>
    ///用户下线 下行 对应 Protobuf_UserOffline_RESP
    /// </summary>
    [pbr::OriginalName("CMD_USER_LEAVE")] CmdUserLeave = 3032,
    /// <summary>
    ///更新在线用户状态 下行 对应 Protobuf_UserState_RESP
    /// </summary>
    [pbr::OriginalName("CMD_USER_STATE_UPDATE")] CmdUserStateUpdate = 3033,
    /// <summary>
    ///修改名称上行 | 下行 对应 Protobuf_Modify_NickName | Protobuf_Modify_NickName_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Modify_NickName")] CmdModifyNickName = 3101,
    /// <summary>
    ///更新用户信息 下行 Protobuf_Update_UserInfo_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Update_SelfUserInfo")] CmdUpdateSelfUserInfo = 3110,
    /// <summary>
    ///更新其他用户信息 下行 Protobuf_Update_OtherUserInfo_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Update_OtherUserInfo")] CmdUpdateOtherUserInfo = 3112,
    /// <summary>
    ///广播聊天信息上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP
    /// </summary>
    [pbr::OriginalName("CMD_CHATMSG")] CmdChatmsg = 4001,
    /// <summary>
    ///房间列表相关(仅用于列表显示)
    /// </summary>
    [pbr::OriginalName("CMD_Room_List")] CmdRoomList = 5001,
    /// <summary>
    ///房间单个房间信息更新 对应 Protobuf_Room_Update_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Room_List_Update")] CmdRoomListUpdate = 5002,
    /// <summary>
    ///房间列表 上行 | 下行 对应 Protobuf_Room_Get_Screen | Protobuf_Room_Get_Screen_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Room_Get_Screen")] CmdRoomGetScreen = 5011,
    /// <summary>
    ///房间内相关
    /// </summary>
    [pbr::OriginalName("CMD_Room_Create")] CmdRoomCreate = 5101,
    /// <summary>
    ///房间加入 对应 Protobuf_Room_Join | Protobuf_Room_Join_RESP //建议Join之前按照房间信息,提前下载并读取本地Rom
    /// </summary>
    [pbr::OriginalName("CMD_Room_Join")] CmdRoomJoin = 5105,
    /// <summary>
    ///房间离开 对应 Protobuf_Room_Leave | Protobuf_Room_Leave_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Room_Leave")] CmdRoomLeave = 5106,
    /// <summary>
    ///我所在的房间内状态发生变化 对应 Protobuf_Room_MyRoom_State_Change
    /// </summary>
    [pbr::OriginalName("CMD_Room_MyRoom_State_Changed")] CmdRoomMyRoomStateChanged = 5110,
    /// <summary>
    ///更换操作槽位 对应 Protobuf_Room_Change_PlaySlotWithJoy | Protobuf_Room_Change_PlaySlotWithJoy_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Room_ChangePlayerWithJoy")] CmdRoomChangePlayerWithJoy = 5130,
    /// <summary>
    ///准备和开始流程(5201 ~ 5204 ~ 5208)
    ///
    /// 我们采用,玩家可以随时进入的方式开发
    ///
    /// 设计流程: 
    ///
    /// Step0:服务器广播"等待-主机上报即使存档" CMD_Room_WaitStep WaitStep=[0] ---> 客户端:暂停模拟器核心:全员等待(主机玩家一人上传即时存档)
    /// 			主机玩家 上行 CMD_Room_HostPlayer_UpdateStateRaw消息,上传即时存档
    /// 			主机玩家上传完毕之后,服务器会通知进入Step1
    ///
    /// Step1:服务器广播"等待-全员加载即时存档" CMD_Room_WaitStep WaitStep=[1] 附带即时存档 ---> 客户端:全员等待
    ///			所有玩家确保加载ROM和即时存档,并保持模拟器暂停,准备完毕后 发送 CMD_Room_Player_Ready
    ///			所有玩家Ready之后,服务器会根据所有玩家延迟提前跑若干Frame,通知进入Step2 
    ///			
    /// Step2:服务器广播"开始" CMD_Room_WaitStep WaitStep=[2] ---> 客户端:立即开始
    ///
    /// PS:[联机过程中加载即时存档] 房间在游玩过程中,单个玩家发送CMD_Room_HostPlayer_UpdateStateRaw 上报即时存档
    /// 		重新从Step1走流程
    /// 
    /// </summary>
    [pbr::OriginalName("CMD_Room_WaitStep")] CmdRoomWaitStep = 5201,
    /// <summary>
    ///主机玩家上传即时存档 上行 | 下行 对应 Protobuf_Room_HostPlayer_UpdateStateRaw | Protobuf_Room_HostPlayer_UpdateStateRaw_RESP
    /// </summary>
    [pbr::OriginalName("CMD_Room_HostPlayer_UpdateStateRaw")] CmdRoomHostPlayerUpdateStateRaw = 5204,
    /// <summary>
    ///玩家准备完毕 上行 Protobuf_Room_Player_Ready
    /// </summary>
    [pbr::OriginalName("CMD_Room_Player_Ready")] CmdRoomPlayerReady = 5208,
    /// <summary>
    ///游戏同步
    /// </summary>
    [pbr::OriginalName("CMD_Room_Singel_PlayerInput")] CmdRoomSingelPlayerInput = 6010,
    /// <summary>
    ///所有玩家操作同步下行  对应 Protobuf_Room_Syn_RoomFrameAllInputData
    /// </summary>
    [pbr::OriginalName("CMD_ROOM_SYN_PlayerInput")] CmdRoomSynPlayerInput = 6015,
    /// <summary>
    ///画面采集
    /// </summary>
    [pbr::OriginalName("CMD_Screen")] CmdScreen = 7001,
    /// <summary>
    ///即时存档
    /// </summary>
    [pbr::OriginalName("CMD_GAMESAV_GetGameSavList")] CmdGamesavGetGameSavList = 8001,
    /// <summary>
    ///玩家删除即时存档 上行 | 下行 对应 Protobuf_Mine_DelGameSavList | Protobuf_Mine_DelGameSavList_RESP
    /// </summary>
    [pbr::OriginalName("CMD_GAMESAV_DelGameSav")] CmdGamesavDelGameSav = 8005,
    /// <summary>
    ///玩家上传即时存档 上行 | 下行 对应 Protobuf_Mine_UpLoadGameSavList | Protobuf_Mine_UpLoadGameSavList_RESP
    /// </summary>
    [pbr::OriginalName("CMD_GAMESAV_UploadGameSav")] CmdGamesavUploadGameSav = 8010,
    /// <summary>
    ///获取即时存档列表 上行 | 下行 对应 Protobuf_Game_Mark | Protobuf_Game_Mark_RESP
    /// </summary>
    [pbr::OriginalName("CMD_GAME_MARK")] CmdGameMark = 10101,
  }

  public enum ErrorCode {
    /// <summary>
    ///缺省不使用
    /// </summary>
    [pbr::OriginalName("ERROR_DEFAUL")] ErrorDefaul = 0,
    /// <summary>
    ///成功
    /// </summary>
    [pbr::OriginalName("ERROR_OK")] ErrorOk = 1,
    /// <summary>
    ///房间不存在
    /// </summary>
    [pbr::OriginalName("ERROR_ROOM_NOT_FOUND")] ErrorRoomNotFound = 10,
    /// <summary>
    ///加入目标位置已经有人
    /// </summary>
    [pbr::OriginalName("ERROR_ROOM_SLOT_ALREADLY_HAD_PLAYER")] ErrorRoomSlotAlreadlyHadPlayer = 11,
    /// <summary>
    ///当前房间状态不允许本操作
    /// </summary>
    [pbr::OriginalName("ERROR_ROOM_CANT_DO_CURR_STATE")] ErrorRoomCantDoCurrState = 50,
    /// <summary>
    ///即时存档不存在
    /// </summary>
    [pbr::OriginalName("ERROR_ROM_DONT_HAD_SAVEDATA")] ErrorRomDontHadSavedata = 80,
    /// <summary>
    ///已经收藏
    /// </summary>
    [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403,
    /// <summary>
    ///并没有收藏
    /// </summary>
    [pbr::OriginalName("ERROR_ROM_DONT_HAD_STAR")] ErrorRomDontHadStar = 404,
  }

  public enum LoginType {
    /// <summary>
    ///使用设备登录
    /// </summary>
    [pbr::OriginalName("UseDevice")] UseDevice = 0,
    /// <summary>
    ///使用账户
    /// </summary>
    [pbr::OriginalName("UseAccount")] UseAccount = 1,
    /// <summary>
    ///使用皓月通行证
    /// </summary>
    [pbr::OriginalName("UseHaoYueAccount")] UseHaoYueAccount = 2,
  }

  public enum DeviceType {
    /// <summary>
    ///通用
    /// </summary>
    [pbr::OriginalName("DeviceType_Default")] Default = 0,
    [pbr::OriginalName("PC")] Pc = 1,
    [pbr::OriginalName("Android")] Android = 2,
    [pbr::OriginalName("IOS")] Ios = 3,
    [pbr::OriginalName("PSV")] Psv = 4,
    [pbr::OriginalName("PS3")] Ps3 = 5,
    [pbr::OriginalName("PS4")] Ps4 = 6,
    [pbr::OriginalName("XBOX360")] Xbox360 = 7,
    [pbr::OriginalName("XBOXONE")] Xboxone = 8,
    [pbr::OriginalName("WiiU")] WiiU = 9,
    [pbr::OriginalName("Nintendo3DS")] Nintendo3Ds = 10,
    /// <summary>
    ///汽车Android车机
    /// </summary>
    [pbr::OriginalName("AndroidCarApp")] AndroidCarApp = 11,
  }

  public enum GamePadType {
    /// <summary>
    ///键盘
    /// </summary>
    [pbr::OriginalName("Keyboard")] Keyboard = 0,
    /// <summary>
    ///通用手柄
    /// </summary>
    [pbr::OriginalName("GlobalGamePad")] GlobalGamePad = 1,
    /// <summary>
    ///触屏
    /// </summary>
    [pbr::OriginalName("TouchPanel")] TouchPanel = 2,
    [pbr::OriginalName("DS3Control")] Ds3Control = 3,
    [pbr::OriginalName("DS4Control")] Ds4Control = 4,
    [pbr::OriginalName("DS5Control")] Ds5Control = 5,
    [pbr::OriginalName("SwitchProControl")] SwitchProControl = 6,
    [pbr::OriginalName("SwitchJoyCon")] SwitchJoyCon = 7,
    [pbr::OriginalName("XBOX360Control")] Xbox360Control = 8,
    [pbr::OriginalName("XBOXONEControl")] Xboxonecontrol = 9,
    [pbr::OriginalName("PSVitaControl")] PsvitaControl = 10,
    [pbr::OriginalName("WiiUPadControl")] WiiUpadControl = 11,
    [pbr::OriginalName("WiiRemoteControl")] WiiRemoteControl = 12,
    [pbr::OriginalName("Nintendo3DSControl")] Nintendo3Dscontrol = 13,
  }

  public enum RomPlatformType {
    [pbr::OriginalName("Invalid")] Invalid = 0,
    [pbr::OriginalName("Nes")] Nes = 1,
    [pbr::OriginalName("Master_System")] MasterSystem = 2,
    [pbr::OriginalName("Game_Gear")] GameGear = 3,
    [pbr::OriginalName("Game_Boy")] GameBoy = 4,
    [pbr::OriginalName("Game_Boy_Color")] GameBoyColor = 5,
    [pbr::OriginalName("Coleco_Vision")] ColecoVision = 6,
    [pbr::OriginalName("SC_3000")] Sc3000 = 7,
    [pbr::OriginalName("SG_1000")] Sg1000 = 8,
    [pbr::OriginalName("All")] All = 999,
  }

  public enum RoomGameState {
    /// <summary>
    ///缺省
    /// </summary>
    [pbr::OriginalName("None_GameState")] NoneGameState = 0,
    /// <summary>
    ///仅主机,待加入
    /// </summary>
    [pbr::OriginalName("OnlyHost")] OnlyHost = 1,
    /// <summary>
    ///等待即时存档
    /// </summary>
    [pbr::OriginalName("WaitRawUpdate")] WaitRawUpdate = 2,
    /// <summary>
    ///等待Ready
    /// </summary>
    [pbr::OriginalName("WaitReady")] WaitReady = 3,
    /// <summary>
    ///暂停
    /// </summary>
    [pbr::OriginalName("Pause")] Pause = 4,
    /// <summary>
    ///联机中
    /// </summary>
    [pbr::OriginalName("InOnlineGame")] InOnlineGame = 5,
  }

  public enum LoginResultStatus {
    /// <summary>
    ///缺省不使用
    /// </summary>
    [pbr::OriginalName("LoginResultStatus_BaseDefault")] BaseDefault = 0,
    [pbr::OriginalName("OK")] Ok = 1,
    [pbr::OriginalName("AccountErr")] AccountErr = 2,
  }

  #endregion

  #region Messages
  /// <summary>
  ///聊天 上行
  /// </summary>
  public sealed partial class Protobuf_ChatMsg : pb::IMessage<Protobuf_ChatMsg>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_ChatMsg> _parser = new pb::MessageParser<Protobuf_ChatMsg>(() => new Protobuf_ChatMsg());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_ChatMsg> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_ChatMsg() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_ChatMsg(Protobuf_ChatMsg other) : this() {
      chatMsg_ = other.chatMsg_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_ChatMsg Clone() {
      return new Protobuf_ChatMsg(this);
    }

    /// <summary>Field number for the "ChatMsg" field.</summary>
    public const int ChatMsgFieldNumber = 1;
    private string chatMsg_ = "";
    /// <summary>
    ///消息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string ChatMsg {
      get { return chatMsg_; }
      set {
        chatMsg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_ChatMsg);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_ChatMsg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ChatMsg != other.ChatMsg) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (ChatMsg.Length != 0) hash ^= ChatMsg.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (ChatMsg.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ChatMsg);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (ChatMsg.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ChatMsg);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (ChatMsg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatMsg);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_ChatMsg other) {
      if (other == null) {
        return;
      }
      if (other.ChatMsg.Length != 0) {
        ChatMsg = other.ChatMsg;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            ChatMsg = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            ChatMsg = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///聊天 下行
  /// </summary>
  public sealed partial class Protobuf_ChatMsg_RESP : pb::IMessage<Protobuf_ChatMsg_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_ChatMsg_RESP> _parser = new pb::MessageParser<Protobuf_ChatMsg_RESP>(() => new Protobuf_ChatMsg_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_ChatMsg_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_ChatMsg_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_ChatMsg_RESP(Protobuf_ChatMsg_RESP other) : this() {
      nickName_ = other.nickName_;
      chatMsg_ = other.chatMsg_;
      date_ = other.date_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_ChatMsg_RESP Clone() {
      return new Protobuf_ChatMsg_RESP(this);
    }

    /// <summary>Field number for the "NickName" field.</summary>
    public const int NickNameFieldNumber = 1;
    private string nickName_ = "";
    /// <summary>
    ///昵称
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string NickName {
      get { return nickName_; }
      set {
        nickName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ChatMsg" field.</summary>
    public const int ChatMsgFieldNumber = 2;
    private string chatMsg_ = "";
    /// <summary>
    ///消息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string ChatMsg {
      get { return chatMsg_; }
      set {
        chatMsg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Date" field.</summary>
    public const int DateFieldNumber = 3;
    private long date_;
    /// <summary>
    ///时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long Date {
      get { return date_; }
      set {
        date_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_ChatMsg_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_ChatMsg_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NickName != other.NickName) return false;
      if (ChatMsg != other.ChatMsg) return false;
      if (Date != other.Date) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (NickName.Length != 0) hash ^= NickName.GetHashCode();
      if (ChatMsg.Length != 0) hash ^= ChatMsg.GetHashCode();
      if (Date != 0L) hash ^= Date.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NickName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NickName);
      }
      if (ChatMsg.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ChatMsg);
      }
      if (Date != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(Date);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NickName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NickName);
      }
      if (ChatMsg.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ChatMsg);
      }
      if (Date != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(Date);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (NickName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NickName);
      }
      if (ChatMsg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ChatMsg);
      }
      if (Date != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Date);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_ChatMsg_RESP other) {
      if (other == null) {
        return;
      }
      if (other.NickName.Length != 0) {
        NickName = other.NickName;
      }
      if (other.ChatMsg.Length != 0) {
        ChatMsg = other.ChatMsg;
      }
      if (other.Date != 0L) {
        Date = other.Date;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            NickName = input.ReadString();
            break;
          }
          case 18: {
            ChatMsg = input.ReadString();
            break;
          }
          case 24: {
            Date = input.ReadInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            NickName = input.ReadString();
            break;
          }
          case 18: {
            ChatMsg = input.ReadString();
            break;
          }
          case 24: {
            Date = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Ping : pb::IMessage<Protobuf_Ping>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Ping> _parser = new pb::MessageParser<Protobuf_Ping>(() => new Protobuf_Ping());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Ping> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Ping() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Ping(Protobuf_Ping other) : this() {
      seed_ = other.seed_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Ping Clone() {
      return new Protobuf_Ping(this);
    }

    /// <summary>Field number for the "Seed" field.</summary>
    public const int SeedFieldNumber = 1;
    private int seed_;
    /// <summary>
    ///随机数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Seed {
      get { return seed_; }
      set {
        seed_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Ping);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Ping other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Seed != other.Seed) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Seed != 0) hash ^= Seed.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Seed != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Seed);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Ping other) {
      if (other == null) {
        return;
      }
      if (other.Seed != 0) {
        Seed = other.Seed;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Seed = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Seed = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Pong : pb::IMessage<Protobuf_Pong>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Pong> _parser = new pb::MessageParser<Protobuf_Pong>(() => new Protobuf_Pong());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Pong> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Pong() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Pong(Protobuf_Pong other) : this() {
      seed_ = other.seed_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Pong Clone() {
      return new Protobuf_Pong(this);
    }

    /// <summary>Field number for the "Seed" field.</summary>
    public const int SeedFieldNumber = 1;
    private int seed_;
    /// <summary>
    ///原样返回随机数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Seed {
      get { return seed_; }
      set {
        seed_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Pong);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Pong other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Seed != other.Seed) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Seed != 0) hash ^= Seed.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (Seed != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Seed);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Pong other) {
      if (other == null) {
        return;
      }
      if (other.Seed != 0) {
        Seed = other.Seed;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Seed = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Seed = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///登录数据上行
  /// </summary>
  public sealed partial class Protobuf_Login : pb::IMessage<Protobuf_Login>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Login> _parser = new pb::MessageParser<Protobuf_Login>(() => new Protobuf_Login());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Login> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Login() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Login(Protobuf_Login other) : this() {
      loginType_ = other.loginType_;
      deviceType_ = other.deviceType_;
      deviceStr_ = other.deviceStr_;
      account_ = other.account_;
      password_ = other.password_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Login Clone() {
      return new Protobuf_Login(this);
    }

    /// <summary>Field number for the "loginType" field.</summary>
    public const int LoginTypeFieldNumber = 1;
    private global::AxibugProtobuf.LoginType loginType_ = global::AxibugProtobuf.LoginType.UseDevice;
    /// <summary>
    ///登录操作类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.LoginType LoginType {
      get { return loginType_; }
      set {
        loginType_ = value;
      }
    }

    /// <summary>Field number for the "deviceType" field.</summary>
    public const int DeviceTypeFieldNumber = 2;
    private global::AxibugProtobuf.DeviceType deviceType_ = global::AxibugProtobuf.DeviceType.Default;
    /// <summary>
    ///设备类型 [0] PC [1] AndroidPad预留 [3] IPad预留
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.DeviceType DeviceType {
      get { return deviceType_; }
      set {
        deviceType_ = value;
      }
    }

    /// <summary>Field number for the "deviceStr" field.</summary>
    public const int DeviceStrFieldNumber = 3;
    private string deviceStr_ = "";
    /// <summary>
    ///设备串
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string DeviceStr {
      get { return deviceStr_; }
      set {
        deviceStr_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Account" field.</summary>
    public const int AccountFieldNumber = 4;
    private string account_ = "";
    /// <summary>
    ///用户名
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Account {
      get { return account_; }
      set {
        account_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Password" field.</summary>
    public const int PasswordFieldNumber = 5;
    private string password_ = "";
    /// <summary>
    ///密码
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Password {
      get { return password_; }
      set {
        password_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Login);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Login other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (LoginType != other.LoginType) return false;
      if (DeviceType != other.DeviceType) return false;
      if (DeviceStr != other.DeviceStr) return false;
      if (Account != other.Account) return false;
      if (Password != other.Password) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (LoginType != global::AxibugProtobuf.LoginType.UseDevice) hash ^= LoginType.GetHashCode();
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) hash ^= DeviceType.GetHashCode();
      if (DeviceStr.Length != 0) hash ^= DeviceStr.GetHashCode();
      if (Account.Length != 0) hash ^= Account.GetHashCode();
      if (Password.Length != 0) hash ^= Password.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (LoginType != global::AxibugProtobuf.LoginType.UseDevice) {
        output.WriteRawTag(8);
        output.WriteEnum((int) LoginType);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        output.WriteRawTag(16);
        output.WriteEnum((int) DeviceType);
      }
      if (DeviceStr.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(DeviceStr);
      }
      if (Account.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Account);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Password);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (LoginType != global::AxibugProtobuf.LoginType.UseDevice) {
        output.WriteRawTag(8);
        output.WriteEnum((int) LoginType);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        output.WriteRawTag(16);
        output.WriteEnum((int) DeviceType);
      }
      if (DeviceStr.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(DeviceStr);
      }
      if (Account.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Account);
      }
      if (Password.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Password);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (LoginType != global::AxibugProtobuf.LoginType.UseDevice) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LoginType);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DeviceType);
      }
      if (DeviceStr.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeviceStr);
      }
      if (Account.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Account);
      }
      if (Password.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Password);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Login other) {
      if (other == null) {
        return;
      }
      if (other.LoginType != global::AxibugProtobuf.LoginType.UseDevice) {
        LoginType = other.LoginType;
      }
      if (other.DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        DeviceType = other.DeviceType;
      }
      if (other.DeviceStr.Length != 0) {
        DeviceStr = other.DeviceStr;
      }
      if (other.Account.Length != 0) {
        Account = other.Account;
      }
      if (other.Password.Length != 0) {
        Password = other.Password;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            LoginType = (global::AxibugProtobuf.LoginType) input.ReadEnum();
            break;
          }
          case 16: {
            DeviceType = (global::AxibugProtobuf.DeviceType) input.ReadEnum();
            break;
          }
          case 26: {
            DeviceStr = input.ReadString();
            break;
          }
          case 34: {
            Account = input.ReadString();
            break;
          }
          case 42: {
            Password = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            LoginType = (global::AxibugProtobuf.LoginType) input.ReadEnum();
            break;
          }
          case 16: {
            DeviceType = (global::AxibugProtobuf.DeviceType) input.ReadEnum();
            break;
          }
          case 26: {
            DeviceStr = input.ReadString();
            break;
          }
          case 34: {
            Account = input.ReadString();
            break;
          }
          case 42: {
            Password = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///登录数据下行
  /// </summary>
  public sealed partial class Protobuf_Login_RESP : pb::IMessage<Protobuf_Login_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Login_RESP> _parser = new pb::MessageParser<Protobuf_Login_RESP>(() => new Protobuf_Login_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Login_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Login_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Login_RESP(Protobuf_Login_RESP other) : this() {
      nickName_ = other.nickName_;
      token_ = other.token_;
      lastLoginDate_ = other.lastLoginDate_;
      regDate_ = other.regDate_;
      status_ = other.status_;
      uID_ = other.uID_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Login_RESP Clone() {
      return new Protobuf_Login_RESP(this);
    }

    /// <summary>Field number for the "NickName" field.</summary>
    public const int NickNameFieldNumber = 1;
    private string nickName_ = "";
    /// <summary>
    ///昵称(第一次是自动生成)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string NickName {
      get { return nickName_; }
      set {
        nickName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Token" field.</summary>
    public const int TokenFieldNumber = 2;
    private string token_ = "";
    /// <summary>
    ///登录凭据 (本次登录之后,所有业务请求凭据,需要存储在内存中)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Token {
      get { return token_; }
      set {
        token_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LastLoginDate" field.</summary>
    public const int LastLoginDateFieldNumber = 3;
    private string lastLoginDate_ = "";
    /// <summary>
    ///上次登录时间(只用于呈现的字符串,若界面需求需要)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string LastLoginDate {
      get { return lastLoginDate_; }
      set {
        lastLoginDate_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RegDate" field.</summary>
    public const int RegDateFieldNumber = 4;
    private string regDate_ = "";
    /// <summary>
    ///注册时间(只用于呈现的字符串,若界面需求需要)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string RegDate {
      get { return regDate_; }
      set {
        regDate_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Status" field.</summary>
    public const int StatusFieldNumber = 5;
    private global::AxibugProtobuf.LoginResultStatus status_ = global::AxibugProtobuf.LoginResultStatus.BaseDefault;
    /// <summary>
    ///账号状态 (预留) [1]正常[0]被禁封
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.LoginResultStatus Status {
      get { return status_; }
      set {
        status_ = value;
      }
    }

    /// <summary>Field number for the "UID" field.</summary>
    public const int UIDFieldNumber = 6;
    private long uID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long UID {
      get { return uID_; }
      set {
        uID_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Login_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Login_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NickName != other.NickName) return false;
      if (Token != other.Token) return false;
      if (LastLoginDate != other.LastLoginDate) return false;
      if (RegDate != other.RegDate) return false;
      if (Status != other.Status) return false;
      if (UID != other.UID) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (NickName.Length != 0) hash ^= NickName.GetHashCode();
      if (Token.Length != 0) hash ^= Token.GetHashCode();
      if (LastLoginDate.Length != 0) hash ^= LastLoginDate.GetHashCode();
      if (RegDate.Length != 0) hash ^= RegDate.GetHashCode();
      if (Status != global::AxibugProtobuf.LoginResultStatus.BaseDefault) hash ^= Status.GetHashCode();
      if (UID != 0L) hash ^= UID.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NickName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NickName);
      }
      if (Token.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Token);
      }
      if (LastLoginDate.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastLoginDate);
      }
      if (RegDate.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RegDate);
      }
      if (Status != global::AxibugProtobuf.LoginResultStatus.BaseDefault) {
        output.WriteRawTag(40);
        output.WriteEnum((int) Status);
      }
      if (UID != 0L) {
        output.WriteRawTag(48);
        output.WriteInt64(UID);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NickName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NickName);
      }
      if (Token.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Token);
      }
      if (LastLoginDate.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LastLoginDate);
      }
      if (RegDate.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RegDate);
      }
      if (Status != global::AxibugProtobuf.LoginResultStatus.BaseDefault) {
        output.WriteRawTag(40);
        output.WriteEnum((int) Status);
      }
      if (UID != 0L) {
        output.WriteRawTag(48);
        output.WriteInt64(UID);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (NickName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NickName);
      }
      if (Token.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Token);
      }
      if (LastLoginDate.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LastLoginDate);
      }
      if (RegDate.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RegDate);
      }
      if (Status != global::AxibugProtobuf.LoginResultStatus.BaseDefault) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Status);
      }
      if (UID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(UID);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Login_RESP other) {
      if (other == null) {
        return;
      }
      if (other.NickName.Length != 0) {
        NickName = other.NickName;
      }
      if (other.Token.Length != 0) {
        Token = other.Token;
      }
      if (other.LastLoginDate.Length != 0) {
        LastLoginDate = other.LastLoginDate;
      }
      if (other.RegDate.Length != 0) {
        RegDate = other.RegDate;
      }
      if (other.Status != global::AxibugProtobuf.LoginResultStatus.BaseDefault) {
        Status = other.Status;
      }
      if (other.UID != 0L) {
        UID = other.UID;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            NickName = input.ReadString();
            break;
          }
          case 18: {
            Token = input.ReadString();
            break;
          }
          case 26: {
            LastLoginDate = input.ReadString();
            break;
          }
          case 34: {
            RegDate = input.ReadString();
            break;
          }
          case 40: {
            Status = (global::AxibugProtobuf.LoginResultStatus) input.ReadEnum();
            break;
          }
          case 48: {
            UID = input.ReadInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            NickName = input.ReadString();
            break;
          }
          case 18: {
            Token = input.ReadString();
            break;
          }
          case 26: {
            LastLoginDate = input.ReadString();
            break;
          }
          case 34: {
            RegDate = input.ReadString();
            break;
          }
          case 40: {
            Status = (global::AxibugProtobuf.LoginResultStatus) input.ReadEnum();
            break;
          }
          case 48: {
            UID = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///Token结构,但用于逻辑里配置加密密钥,放置于服务端加密后,发放token
  /// </summary>
  public sealed partial class Protobuf_Token_Struct : pb::IMessage<Protobuf_Token_Struct>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Token_Struct> _parser = new pb::MessageParser<Protobuf_Token_Struct>(() => new Protobuf_Token_Struct());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Token_Struct> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Token_Struct() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Token_Struct(Protobuf_Token_Struct other) : this() {
      uID_ = other.uID_;
      tokenGenDate_ = other.tokenGenDate_;
      seed_ = other.seed_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Token_Struct Clone() {
      return new Protobuf_Token_Struct(this);
    }

    /// <summary>Field number for the "UID" field.</summary>
    public const int UIDFieldNumber = 1;
    private long uID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long UID {
      get { return uID_; }
      set {
        uID_ = value;
      }
    }

    /// <summary>Field number for the "TokenGenDate" field.</summary>
    public const int TokenGenDateFieldNumber = 2;
    private long tokenGenDate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long TokenGenDate {
      get { return tokenGenDate_; }
      set {
        tokenGenDate_ = value;
      }
    }

    /// <summary>Field number for the "Seed" field.</summary>
    public const int SeedFieldNumber = 3;
    private long seed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long Seed {
      get { return seed_; }
      set {
        seed_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Token_Struct);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Token_Struct other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UID != other.UID) return false;
      if (TokenGenDate != other.TokenGenDate) return false;
      if (Seed != other.Seed) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (UID != 0L) hash ^= UID.GetHashCode();
      if (TokenGenDate != 0L) hash ^= TokenGenDate.GetHashCode();
      if (Seed != 0L) hash ^= Seed.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (TokenGenDate != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(TokenGenDate);
      }
      if (Seed != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(Seed);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (TokenGenDate != 0L) {
        output.WriteRawTag(16);
        output.WriteInt64(TokenGenDate);
      }
      if (Seed != 0L) {
        output.WriteRawTag(24);
        output.WriteInt64(Seed);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (UID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(UID);
      }
      if (TokenGenDate != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(TokenGenDate);
      }
      if (Seed != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Seed);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Token_Struct other) {
      if (other == null) {
        return;
      }
      if (other.UID != 0L) {
        UID = other.UID;
      }
      if (other.TokenGenDate != 0L) {
        TokenGenDate = other.TokenGenDate;
      }
      if (other.Seed != 0L) {
        Seed = other.Seed;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 16: {
            TokenGenDate = input.ReadInt64();
            break;
          }
          case 24: {
            Seed = input.ReadInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 16: {
            TokenGenDate = input.ReadInt64();
            break;
          }
          case 24: {
            Seed = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///获取在线用户列表 上行
  /// </summary>
  public sealed partial class Protobuf_UserList : pb::IMessage<Protobuf_UserList>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_UserList> _parser = new pb::MessageParser<Protobuf_UserList>(() => new Protobuf_UserList());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_UserList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[7]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserList(Protobuf_UserList other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserList Clone() {
      return new Protobuf_UserList(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_UserList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_UserList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_UserList other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  /// <summary>
  ///获取在线用户列表 下行
  /// </summary>
  public sealed partial class Protobuf_UserList_RESP : pb::IMessage<Protobuf_UserList_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_UserList_RESP> _parser = new pb::MessageParser<Protobuf_UserList_RESP>(() => new Protobuf_UserList_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_UserList_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[8]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserList_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserList_RESP(Protobuf_UserList_RESP other) : this() {
      userCount_ = other.userCount_;
      userList_ = other.userList_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserList_RESP Clone() {
      return new Protobuf_UserList_RESP(this);
    }

    /// <summary>Field number for the "UserCount" field.</summary>
    public const int UserCountFieldNumber = 1;
    private int userCount_;
    /// <summary>
    ///玩家数量
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int UserCount {
      get { return userCount_; }
      set {
        userCount_ = value;
      }
    }

    /// <summary>Field number for the "UserList" field.</summary>
    public const int UserListFieldNumber = 2;
    private static readonly pb::FieldCodec<global::AxibugProtobuf.UserMiniInfo> _repeated_userList_codec
        = pb::FieldCodec.ForMessage(18, global::AxibugProtobuf.UserMiniInfo.Parser);
    private readonly pbc::RepeatedField<global::AxibugProtobuf.UserMiniInfo> userList_ = new pbc::RepeatedField<global::AxibugProtobuf.UserMiniInfo>();
    /// <summary>
    ///用户列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::AxibugProtobuf.UserMiniInfo> UserList {
      get { return userList_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_UserList_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_UserList_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UserCount != other.UserCount) return false;
      if(!userList_.Equals(other.userList_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (UserCount != 0) hash ^= UserCount.GetHashCode();
      hash ^= userList_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UserCount != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(UserCount);
      }
      userList_.WriteTo(output, _repeated_userList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UserCount != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(UserCount);
      }
      userList_.WriteTo(ref output, _repeated_userList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (UserCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UserCount);
      }
      size += userList_.CalculateSize(_repeated_userList_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_UserList_RESP other) {
      if (other == null) {
        return;
      }
      if (other.UserCount != 0) {
        UserCount = other.UserCount;
      }
      userList_.Add(other.userList_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            UserCount = input.ReadInt32();
            break;
          }
          case 18: {
            userList_.AddEntriesFrom(input, _repeated_userList_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            UserCount = input.ReadInt32();
            break;
          }
          case 18: {
            userList_.AddEntriesFrom(ref input, _repeated_userList_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///用户上线 下行
  /// </summary>
  public sealed partial class Protobuf_UserJoin_RESP : pb::IMessage<Protobuf_UserJoin_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_UserJoin_RESP> _parser = new pb::MessageParser<Protobuf_UserJoin_RESP>(() => new Protobuf_UserJoin_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_UserJoin_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[9]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserJoin_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserJoin_RESP(Protobuf_UserJoin_RESP other) : this() {
      userInfo_ = other.userInfo_ != null ? other.userInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserJoin_RESP Clone() {
      return new Protobuf_UserJoin_RESP(this);
    }

    /// <summary>Field number for the "UserInfo" field.</summary>
    public const int UserInfoFieldNumber = 1;
    private global::AxibugProtobuf.UserMiniInfo userInfo_;
    /// <summary>
    ///用户
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.UserMiniInfo UserInfo {
      get { return userInfo_; }
      set {
        userInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_UserJoin_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_UserJoin_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(UserInfo, other.UserInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (userInfo_ != null) hash ^= UserInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (userInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(UserInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (userInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(UserInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (userInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UserInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_UserJoin_RESP other) {
      if (other == null) {
        return;
      }
      if (other.userInfo_ != null) {
        if (userInfo_ == null) {
          UserInfo = new global::AxibugProtobuf.UserMiniInfo();
        }
        UserInfo.MergeFrom(other.UserInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (userInfo_ == null) {
              UserInfo = new global::AxibugProtobuf.UserMiniInfo();
            }
            input.ReadMessage(UserInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (userInfo_ == null) {
              UserInfo = new global::AxibugProtobuf.UserMiniInfo();
            }
            input.ReadMessage(UserInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///用户下线 下行
  /// </summary>
  public sealed partial class Protobuf_UserLeave_RESP : pb::IMessage<Protobuf_UserLeave_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_UserLeave_RESP> _parser = new pb::MessageParser<Protobuf_UserLeave_RESP>(() => new Protobuf_UserLeave_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_UserLeave_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[10]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserLeave_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserLeave_RESP(Protobuf_UserLeave_RESP other) : this() {
      uID_ = other.uID_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserLeave_RESP Clone() {
      return new Protobuf_UserLeave_RESP(this);
    }

    /// <summary>Field number for the "UID" field.</summary>
    public const int UIDFieldNumber = 1;
    private long uID_;
    /// <summary>
    ///用户ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long UID {
      get { return uID_; }
      set {
        uID_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_UserLeave_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_UserLeave_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UID != other.UID) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (UID != 0L) hash ^= UID.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (UID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(UID);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_UserLeave_RESP other) {
      if (other == null) {
        return;
      }
      if (other.UID != 0L) {
        UID = other.UID;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///更新在线用户状态 下行
  /// </summary>
  public sealed partial class Protobuf_UserState_RESP : pb::IMessage<Protobuf_UserState_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_UserState_RESP> _parser = new pb::MessageParser<Protobuf_UserState_RESP>(() => new Protobuf_UserState_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_UserState_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[11]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserState_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserState_RESP(Protobuf_UserState_RESP other) : this() {
      uID_ = other.uID_;
      state_ = other.state_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_UserState_RESP Clone() {
      return new Protobuf_UserState_RESP(this);
    }

    /// <summary>Field number for the "UID" field.</summary>
    public const int UIDFieldNumber = 1;
    private long uID_;
    /// <summary>
    ///用户ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long UID {
      get { return uID_; }
      set {
        uID_ = value;
      }
    }

    /// <summary>Field number for the "State" field.</summary>
    public const int StateFieldNumber = 2;
    private int state_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int State {
      get { return state_; }
      set {
        state_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_UserState_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_UserState_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UID != other.UID) return false;
      if (State != other.State) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (UID != 0L) hash ^= UID.GetHashCode();
      if (State != 0) hash ^= State.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (State != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(State);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (State != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(State);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (UID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(UID);
      }
      if (State != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_UserState_RESP other) {
      if (other == null) {
        return;
      }
      if (other.UID != 0L) {
        UID = other.UID;
      }
      if (other.State != 0) {
        State = other.State;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 16: {
            State = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 16: {
            State = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class UserMiniInfo : pb::IMessage<UserMiniInfo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UserMiniInfo> _parser = new pb::MessageParser<UserMiniInfo>(() => new UserMiniInfo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<UserMiniInfo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[12]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public UserMiniInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public UserMiniInfo(UserMiniInfo other) : this() {
      uID_ = other.uID_;
      nickName_ = other.nickName_;
      deviceType_ = other.deviceType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public UserMiniInfo Clone() {
      return new UserMiniInfo(this);
    }

    /// <summary>Field number for the "UID" field.</summary>
    public const int UIDFieldNumber = 1;
    private long uID_;
    /// <summary>
    ///用户ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long UID {
      get { return uID_; }
      set {
        uID_ = value;
      }
    }

    /// <summary>Field number for the "NickName" field.</summary>
    public const int NickNameFieldNumber = 2;
    private string nickName_ = "";
    /// <summary>
    ///昵称
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string NickName {
      get { return nickName_; }
      set {
        nickName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "deviceType" field.</summary>
    public const int DeviceTypeFieldNumber = 3;
    private global::AxibugProtobuf.DeviceType deviceType_ = global::AxibugProtobuf.DeviceType.Default;
    /// <summary>
    ///设备类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.DeviceType DeviceType {
      get { return deviceType_; }
      set {
        deviceType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as UserMiniInfo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(UserMiniInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UID != other.UID) return false;
      if (NickName != other.NickName) return false;
      if (DeviceType != other.DeviceType) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (UID != 0L) hash ^= UID.GetHashCode();
      if (NickName.Length != 0) hash ^= NickName.GetHashCode();
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) hash ^= DeviceType.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (NickName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NickName);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        output.WriteRawTag(24);
        output.WriteEnum((int) DeviceType);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (NickName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NickName);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        output.WriteRawTag(24);
        output.WriteEnum((int) DeviceType);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (UID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(UID);
      }
      if (NickName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NickName);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DeviceType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(UserMiniInfo other) {
      if (other == null) {
        return;
      }
      if (other.UID != 0L) {
        UID = other.UID;
      }
      if (other.NickName.Length != 0) {
        NickName = other.NickName;
      }
      if (other.DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        DeviceType = other.DeviceType;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 18: {
            NickName = input.ReadString();
            break;
          }
          case 24: {
            DeviceType = (global::AxibugProtobuf.DeviceType) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 18: {
            NickName = input.ReadString();
            break;
          }
          case 24: {
            DeviceType = (global::AxibugProtobuf.DeviceType) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///修改昵称上行
  /// </summary>
  public sealed partial class Protobuf_Modify_NickName : pb::IMessage<Protobuf_Modify_NickName>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Modify_NickName> _parser = new pb::MessageParser<Protobuf_Modify_NickName>(() => new Protobuf_Modify_NickName());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Modify_NickName> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[13]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Modify_NickName() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Modify_NickName(Protobuf_Modify_NickName other) : this() {
      nickName_ = other.nickName_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Modify_NickName Clone() {
      return new Protobuf_Modify_NickName(this);
    }

    /// <summary>Field number for the "NickName" field.</summary>
    public const int NickNameFieldNumber = 1;
    private string nickName_ = "";
    /// <summary>
    ///昵称
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string NickName {
      get { return nickName_; }
      set {
        nickName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Modify_NickName);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Modify_NickName other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NickName != other.NickName) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (NickName.Length != 0) hash ^= NickName.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NickName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NickName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NickName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(NickName);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (NickName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NickName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Modify_NickName other) {
      if (other == null) {
        return;
      }
      if (other.NickName.Length != 0) {
        NickName = other.NickName;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            NickName = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            NickName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///修改昵称下行
  /// </summary>
  public sealed partial class Protobuf_Modify_NickName_RESP : pb::IMessage<Protobuf_Modify_NickName_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Modify_NickName_RESP> _parser = new pb::MessageParser<Protobuf_Modify_NickName_RESP>(() => new Protobuf_Modify_NickName_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Modify_NickName_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[14]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Modify_NickName_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Modify_NickName_RESP(Protobuf_Modify_NickName_RESP other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Modify_NickName_RESP Clone() {
      return new Protobuf_Modify_NickName_RESP(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Modify_NickName_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Modify_NickName_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Modify_NickName_RESP other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  /// <summary>
  ///用户信息更新
  /// </summary>
  public sealed partial class Protobuf_Update_UserInfo_RESP : pb::IMessage<Protobuf_Update_UserInfo_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Update_UserInfo_RESP> _parser = new pb::MessageParser<Protobuf_Update_UserInfo_RESP>(() => new Protobuf_Update_UserInfo_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Update_UserInfo_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[15]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Update_UserInfo_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Update_UserInfo_RESP(Protobuf_Update_UserInfo_RESP other) : this() {
      userInfo_ = other.userInfo_ != null ? other.userInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Update_UserInfo_RESP Clone() {
      return new Protobuf_Update_UserInfo_RESP(this);
    }

    /// <summary>Field number for the "UserInfo" field.</summary>
    public const int UserInfoFieldNumber = 1;
    private global::AxibugProtobuf.UserMiniInfo userInfo_;
    /// <summary>
    ///用户
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.UserMiniInfo UserInfo {
      get { return userInfo_; }
      set {
        userInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Update_UserInfo_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Update_UserInfo_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(UserInfo, other.UserInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (userInfo_ != null) hash ^= UserInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (userInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(UserInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (userInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(UserInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (userInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UserInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Update_UserInfo_RESP other) {
      if (other == null) {
        return;
      }
      if (other.userInfo_ != null) {
        if (userInfo_ == null) {
          UserInfo = new global::AxibugProtobuf.UserMiniInfo();
        }
        UserInfo.MergeFrom(other.UserInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (userInfo_ == null) {
              UserInfo = new global::AxibugProtobuf.UserMiniInfo();
            }
            input.ReadMessage(UserInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (userInfo_ == null) {
              UserInfo = new global::AxibugProtobuf.UserMiniInfo();
            }
            input.ReadMessage(UserInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///其他用户信息更新
  /// </summary>
  public sealed partial class Protobuf_Update_OtherUserInfo_RESP : pb::IMessage<Protobuf_Update_OtherUserInfo_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Update_OtherUserInfo_RESP> _parser = new pb::MessageParser<Protobuf_Update_OtherUserInfo_RESP>(() => new Protobuf_Update_OtherUserInfo_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Update_OtherUserInfo_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[16]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Update_OtherUserInfo_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Update_OtherUserInfo_RESP(Protobuf_Update_OtherUserInfo_RESP other) : this() {
      uID_ = other.uID_;
      userInfo_ = other.userInfo_ != null ? other.userInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Update_OtherUserInfo_RESP Clone() {
      return new Protobuf_Update_OtherUserInfo_RESP(this);
    }

    /// <summary>Field number for the "UID" field.</summary>
    public const int UIDFieldNumber = 1;
    private long uID_;
    /// <summary>
    ///用户ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long UID {
      get { return uID_; }
      set {
        uID_ = value;
      }
    }

    /// <summary>Field number for the "UserInfo" field.</summary>
    public const int UserInfoFieldNumber = 2;
    private global::AxibugProtobuf.UserMiniInfo userInfo_;
    /// <summary>
    ///用户
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.UserMiniInfo UserInfo {
      get { return userInfo_; }
      set {
        userInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Update_OtherUserInfo_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Update_OtherUserInfo_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UID != other.UID) return false;
      if (!object.Equals(UserInfo, other.UserInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (UID != 0L) hash ^= UID.GetHashCode();
      if (userInfo_ != null) hash ^= UserInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (userInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(UserInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(UID);
      }
      if (userInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(UserInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (UID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(UID);
      }
      if (userInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UserInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Update_OtherUserInfo_RESP other) {
      if (other == null) {
        return;
      }
      if (other.UID != 0L) {
        UID = other.UID;
      }
      if (other.userInfo_ != null) {
        if (userInfo_ == null) {
          UserInfo = new global::AxibugProtobuf.UserMiniInfo();
        }
        UserInfo.MergeFrom(other.UserInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 18: {
            if (userInfo_ == null) {
              UserInfo = new global::AxibugProtobuf.UserMiniInfo();
            }
            input.ReadMessage(UserInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            UID = input.ReadInt64();
            break;
          }
          case 18: {
            if (userInfo_ == null) {
              UserInfo = new global::AxibugProtobuf.UserMiniInfo();
            }
            input.ReadMessage(UserInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_List : pb::IMessage<Protobuf_Room_List>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_List> _parser = new pb::MessageParser<Protobuf_Room_List>(() => new Protobuf_Room_List());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_List> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[17]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_List() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_List(Protobuf_Room_List other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_List Clone() {
      return new Protobuf_Room_List(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_List);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_List other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_List other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_List_RESP : pb::IMessage<Protobuf_Room_List_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_List_RESP> _parser = new pb::MessageParser<Protobuf_Room_List_RESP>(() => new Protobuf_Room_List_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_List_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[18]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_List_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_List_RESP(Protobuf_Room_List_RESP other) : this() {
      roomMiniInfoList_ = other.roomMiniInfoList_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_List_RESP Clone() {
      return new Protobuf_Room_List_RESP(this);
    }

    /// <summary>Field number for the "RoomMiniInfoList" field.</summary>
    public const int RoomMiniInfoListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::AxibugProtobuf.Protobuf_Room_MiniInfo> _repeated_roomMiniInfoList_codec
        = pb::FieldCodec.ForMessage(10, global::AxibugProtobuf.Protobuf_Room_MiniInfo.Parser);
    private readonly pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Room_MiniInfo> roomMiniInfoList_ = new pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Room_MiniInfo>();
    /// <summary>
    ///房间列表
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Room_MiniInfo> RoomMiniInfoList {
      get { return roomMiniInfoList_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_List_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_List_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!roomMiniInfoList_.Equals(other.roomMiniInfoList_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= roomMiniInfoList_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      roomMiniInfoList_.WriteTo(output, _repeated_roomMiniInfoList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      roomMiniInfoList_.WriteTo(ref output, _repeated_roomMiniInfoList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      size += roomMiniInfoList_.CalculateSize(_repeated_roomMiniInfoList_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_List_RESP other) {
      if (other == null) {
        return;
      }
      roomMiniInfoList_.Add(other.roomMiniInfoList_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            roomMiniInfoList_.AddEntriesFrom(input, _repeated_roomMiniInfoList_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            roomMiniInfoList_.AddEntriesFrom(ref input, _repeated_roomMiniInfoList_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_MiniInfo : pb::IMessage<Protobuf_Room_MiniInfo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_MiniInfo> _parser = new pb::MessageParser<Protobuf_Room_MiniInfo>(() => new Protobuf_Room_MiniInfo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_MiniInfo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[19]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_MiniInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_MiniInfo(Protobuf_Room_MiniInfo other) : this() {
      roomID_ = other.roomID_;
      gameRomID_ = other.gameRomID_;
      gameRomHash_ = other.gameRomHash_;
      gamePlatformType_ = other.gamePlatformType_;
      hostPlayerUID_ = other.hostPlayerUID_;
      gameState_ = other.gameState_;
      obsUserCount_ = other.obsUserCount_;
      screenProviderUID_ = other.screenProviderUID_;
      gamePlaySlotList_ = other.gamePlaySlotList_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_MiniInfo Clone() {
      return new Protobuf_Room_MiniInfo(this);
    }

    /// <summary>Field number for the "RoomID" field.</summary>
    public const int RoomIDFieldNumber = 1;
    private int roomID_;
    /// <summary>
    ///房间ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomID {
      get { return roomID_; }
      set {
        roomID_ = value;
      }
    }

    /// <summary>Field number for the "GameRomID" field.</summary>
    public const int GameRomIDFieldNumber = 2;
    private int gameRomID_;
    /// <summary>
    ///游戏ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int GameRomID {
      get { return gameRomID_; }
      set {
        gameRomID_ = value;
      }
    }

    /// <summary>Field number for the "GameRomHash" field.</summary>
    public const int GameRomHashFieldNumber = 3;
    private string gameRomHash_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string GameRomHash {
      get { return gameRomHash_; }
      set {
        gameRomHash_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GamePlatformType" field.</summary>
    public const int GamePlatformTypeFieldNumber = 4;
    private global::AxibugProtobuf.RomPlatformType gamePlatformType_ = global::AxibugProtobuf.RomPlatformType.Invalid;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.RomPlatformType GamePlatformType {
      get { return gamePlatformType_; }
      set {
        gamePlatformType_ = value;
      }
    }

    /// <summary>Field number for the "HostPlayerUID" field.</summary>
    public const int HostPlayerUIDFieldNumber = 5;
    private long hostPlayerUID_;
    /// <summary>
    ///主机玩家ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long HostPlayerUID {
      get { return hostPlayerUID_; }
      set {
        hostPlayerUID_ = value;
      }
    }

    /// <summary>Field number for the "GameState" field.</summary>
    public const int GameStateFieldNumber = 6;
    private global::AxibugProtobuf.RoomGameState gameState_ = global::AxibugProtobuf.RoomGameState.NoneGameState;
    /// <summary>
    ///游戏状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.RoomGameState GameState {
      get { return gameState_; }
      set {
        gameState_ = value;
      }
    }

    /// <summary>Field number for the "ObsUserCount" field.</summary>
    public const int ObsUserCountFieldNumber = 7;
    private int obsUserCount_;
    /// <summary>
    ///观战用户数量
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int ObsUserCount {
      get { return obsUserCount_; }
      set {
        obsUserCount_ = value;
      }
    }

    /// <summary>Field number for the "ScreenProviderUID" field.</summary>
    public const int ScreenProviderUIDFieldNumber = 8;
    private long screenProviderUID_;
    /// <summary>
    ///屏幕数据供应者
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long ScreenProviderUID {
      get { return screenProviderUID_; }
      set {
        screenProviderUID_ = value;
      }
    }

    /// <summary>Field number for the "GamePlaySlotList" field.</summary>
    public const int GamePlaySlotListFieldNumber = 9;
    private static readonly pb::FieldCodec<global::AxibugProtobuf.Protobuf_Room_GamePlaySlot> _repeated_gamePlaySlotList_codec
        = pb::FieldCodec.ForMessage(74, global::AxibugProtobuf.Protobuf_Room_GamePlaySlot.Parser);
    private readonly pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Room_GamePlaySlot> gamePlaySlotList_ = new pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Room_GamePlaySlot>();
    /// <summary>
    ///游玩槽位信息P1~P4 固定4个
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Room_GamePlaySlot> GamePlaySlotList {
      get { return gamePlaySlotList_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_MiniInfo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_MiniInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomID != other.RoomID) return false;
      if (GameRomID != other.GameRomID) return false;
      if (GameRomHash != other.GameRomHash) return false;
      if (GamePlatformType != other.GamePlatformType) return false;
      if (HostPlayerUID != other.HostPlayerUID) return false;
      if (GameState != other.GameState) return false;
      if (ObsUserCount != other.ObsUserCount) return false;
      if (ScreenProviderUID != other.ScreenProviderUID) return false;
      if(!gamePlaySlotList_.Equals(other.gamePlaySlotList_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (GameRomID != 0) hash ^= GameRomID.GetHashCode();
      if (GameRomHash.Length != 0) hash ^= GameRomHash.GetHashCode();
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) hash ^= GamePlatformType.GetHashCode();
      if (HostPlayerUID != 0L) hash ^= HostPlayerUID.GetHashCode();
      if (GameState != global::AxibugProtobuf.RoomGameState.NoneGameState) hash ^= GameState.GetHashCode();
      if (ObsUserCount != 0) hash ^= ObsUserCount.GetHashCode();
      if (ScreenProviderUID != 0L) hash ^= ScreenProviderUID.GetHashCode();
      hash ^= gamePlaySlotList_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RoomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoomID);
      }
      if (GameRomID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GameRomID);
      }
      if (GameRomHash.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(GameRomHash);
      }
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        output.WriteRawTag(32);
        output.WriteEnum((int) GamePlatformType);
      }
      if (HostPlayerUID != 0L) {
        output.WriteRawTag(40);
        output.WriteInt64(HostPlayerUID);
      }
      if (GameState != global::AxibugProtobuf.RoomGameState.NoneGameState) {
        output.WriteRawTag(48);
        output.WriteEnum((int) GameState);
      }
      if (ObsUserCount != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ObsUserCount);
      }
      if (ScreenProviderUID != 0L) {
        output.WriteRawTag(64);
        output.WriteInt64(ScreenProviderUID);
      }
      gamePlaySlotList_.WriteTo(output, _repeated_gamePlaySlotList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RoomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoomID);
      }
      if (GameRomID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GameRomID);
      }
      if (GameRomHash.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(GameRomHash);
      }
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        output.WriteRawTag(32);
        output.WriteEnum((int) GamePlatformType);
      }
      if (HostPlayerUID != 0L) {
        output.WriteRawTag(40);
        output.WriteInt64(HostPlayerUID);
      }
      if (GameState != global::AxibugProtobuf.RoomGameState.NoneGameState) {
        output.WriteRawTag(48);
        output.WriteEnum((int) GameState);
      }
      if (ObsUserCount != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ObsUserCount);
      }
      if (ScreenProviderUID != 0L) {
        output.WriteRawTag(64);
        output.WriteInt64(ScreenProviderUID);
      }
      gamePlaySlotList_.WriteTo(ref output, _repeated_gamePlaySlotList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
      }
      if (GameRomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GameRomID);
      }
      if (GameRomHash.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(GameRomHash);
      }
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) GamePlatformType);
      }
      if (HostPlayerUID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(HostPlayerUID);
      }
      if (GameState != global::AxibugProtobuf.RoomGameState.NoneGameState) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) GameState);
      }
      if (ObsUserCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ObsUserCount);
      }
      if (ScreenProviderUID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(ScreenProviderUID);
      }
      size += gamePlaySlotList_.CalculateSize(_repeated_gamePlaySlotList_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_MiniInfo other) {
      if (other == null) {
        return;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      if (other.GameRomID != 0) {
        GameRomID = other.GameRomID;
      }
      if (other.GameRomHash.Length != 0) {
        GameRomHash = other.GameRomHash;
      }
      if (other.GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        GamePlatformType = other.GamePlatformType;
      }
      if (other.HostPlayerUID != 0L) {
        HostPlayerUID = other.HostPlayerUID;
      }
      if (other.GameState != global::AxibugProtobuf.RoomGameState.NoneGameState) {
        GameState = other.GameState;
      }
      if (other.ObsUserCount != 0) {
        ObsUserCount = other.ObsUserCount;
      }
      if (other.ScreenProviderUID != 0L) {
        ScreenProviderUID = other.ScreenProviderUID;
      }
      gamePlaySlotList_.Add(other.gamePlaySlotList_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
          case 16: {
            GameRomID = input.ReadInt32();
            break;
          }
          case 26: {
            GameRomHash = input.ReadString();
            break;
          }
          case 32: {
            GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum();
            break;
          }
          case 40: {
            HostPlayerUID = input.ReadInt64();
            break;
          }
          case 48: {
            GameState = (global::AxibugProtobuf.RoomGameState) input.ReadEnum();
            break;
          }
          case 56: {
            ObsUserCount = input.ReadInt32();
            break;
          }
          case 64: {
            ScreenProviderUID = input.ReadInt64();
            break;
          }
          case 74: {
            gamePlaySlotList_.AddEntriesFrom(input, _repeated_gamePlaySlotList_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
          case 16: {
            GameRomID = input.ReadInt32();
            break;
          }
          case 26: {
            GameRomHash = input.ReadString();
            break;
          }
          case 32: {
            GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum();
            break;
          }
          case 40: {
            HostPlayerUID = input.ReadInt64();
            break;
          }
          case 48: {
            GameState = (global::AxibugProtobuf.RoomGameState) input.ReadEnum();
            break;
          }
          case 56: {
            ObsUserCount = input.ReadInt32();
            break;
          }
          case 64: {
            ScreenProviderUID = input.ReadInt64();
            break;
          }
          case 74: {
            gamePlaySlotList_.AddEntriesFrom(ref input, _repeated_gamePlaySlotList_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_GamePlaySlot : pb::IMessage<Protobuf_Room_GamePlaySlot>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_GamePlaySlot> _parser = new pb::MessageParser<Protobuf_Room_GamePlaySlot>(() => new Protobuf_Room_GamePlaySlot());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_GamePlaySlot> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[20]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_GamePlaySlot() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_GamePlaySlot(Protobuf_Room_GamePlaySlot other) : this() {
      playerUID_ = other.playerUID_;
      playerNickName_ = other.playerNickName_;
      deviceType_ = other.deviceType_;
      playerLocalJoyIdx_ = other.playerLocalJoyIdx_;
      playerLocalGamePadType_ = other.playerLocalGamePadType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_GamePlaySlot Clone() {
      return new Protobuf_Room_GamePlaySlot(this);
    }

    /// <summary>Field number for the "Player_UID" field.</summary>
    public const int PlayerUIDFieldNumber = 1;
    private long playerUID_;
    /// <summary>
    ///玩家 UID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public long PlayerUID {
      get { return playerUID_; }
      set {
        playerUID_ = value;
      }
    }

    /// <summary>Field number for the "Player_NickName" field.</summary>
    public const int PlayerNickNameFieldNumber = 2;
    private string playerNickName_ = "";
    /// <summary>
    ///玩家 昵称
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string PlayerNickName {
      get { return playerNickName_; }
      set {
        playerNickName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "deviceType" field.</summary>
    public const int DeviceTypeFieldNumber = 3;
    private global::AxibugProtobuf.DeviceType deviceType_ = global::AxibugProtobuf.DeviceType.Default;
    /// <summary>
    ///用户设备类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.DeviceType DeviceType {
      get { return deviceType_; }
      set {
        deviceType_ = value;
      }
    }

    /// <summary>Field number for the "PlayerLocalJoyIdx" field.</summary>
    public const int PlayerLocalJoyIdxFieldNumber = 4;
    private int playerLocalJoyIdx_;
    /// <summary>
    ///客户端JoyIdx
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int PlayerLocalJoyIdx {
      get { return playerLocalJoyIdx_; }
      set {
        playerLocalJoyIdx_ = value;
      }
    }

    /// <summary>Field number for the "PlayerLocalGamePadType" field.</summary>
    public const int PlayerLocalGamePadTypeFieldNumber = 5;
    private global::AxibugProtobuf.GamePadType playerLocalGamePadType_ = global::AxibugProtobuf.GamePadType.Keyboard;
    /// <summary>
    ///客户端手柄类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.GamePadType PlayerLocalGamePadType {
      get { return playerLocalGamePadType_; }
      set {
        playerLocalGamePadType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_GamePlaySlot);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_GamePlaySlot other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PlayerUID != other.PlayerUID) return false;
      if (PlayerNickName != other.PlayerNickName) return false;
      if (DeviceType != other.DeviceType) return false;
      if (PlayerLocalJoyIdx != other.PlayerLocalJoyIdx) return false;
      if (PlayerLocalGamePadType != other.PlayerLocalGamePadType) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (PlayerUID != 0L) hash ^= PlayerUID.GetHashCode();
      if (PlayerNickName.Length != 0) hash ^= PlayerNickName.GetHashCode();
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) hash ^= DeviceType.GetHashCode();
      if (PlayerLocalJoyIdx != 0) hash ^= PlayerLocalJoyIdx.GetHashCode();
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) hash ^= PlayerLocalGamePadType.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (PlayerUID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(PlayerUID);
      }
      if (PlayerNickName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(PlayerNickName);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        output.WriteRawTag(24);
        output.WriteEnum((int) DeviceType);
      }
      if (PlayerLocalJoyIdx != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(PlayerLocalJoyIdx);
      }
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        output.WriteRawTag(40);
        output.WriteEnum((int) PlayerLocalGamePadType);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (PlayerUID != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(PlayerUID);
      }
      if (PlayerNickName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(PlayerNickName);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        output.WriteRawTag(24);
        output.WriteEnum((int) DeviceType);
      }
      if (PlayerLocalJoyIdx != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(PlayerLocalJoyIdx);
      }
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        output.WriteRawTag(40);
        output.WriteEnum((int) PlayerLocalGamePadType);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (PlayerUID != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(PlayerUID);
      }
      if (PlayerNickName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PlayerNickName);
      }
      if (DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DeviceType);
      }
      if (PlayerLocalJoyIdx != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerLocalJoyIdx);
      }
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlayerLocalGamePadType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_GamePlaySlot other) {
      if (other == null) {
        return;
      }
      if (other.PlayerUID != 0L) {
        PlayerUID = other.PlayerUID;
      }
      if (other.PlayerNickName.Length != 0) {
        PlayerNickName = other.PlayerNickName;
      }
      if (other.DeviceType != global::AxibugProtobuf.DeviceType.Default) {
        DeviceType = other.DeviceType;
      }
      if (other.PlayerLocalJoyIdx != 0) {
        PlayerLocalJoyIdx = other.PlayerLocalJoyIdx;
      }
      if (other.PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        PlayerLocalGamePadType = other.PlayerLocalGamePadType;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            PlayerUID = input.ReadInt64();
            break;
          }
          case 18: {
            PlayerNickName = input.ReadString();
            break;
          }
          case 24: {
            DeviceType = (global::AxibugProtobuf.DeviceType) input.ReadEnum();
            break;
          }
          case 32: {
            PlayerLocalJoyIdx = input.ReadInt32();
            break;
          }
          case 40: {
            PlayerLocalGamePadType = (global::AxibugProtobuf.GamePadType) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PlayerUID = input.ReadInt64();
            break;
          }
          case 18: {
            PlayerNickName = input.ReadString();
            break;
          }
          case 24: {
            DeviceType = (global::AxibugProtobuf.DeviceType) input.ReadEnum();
            break;
          }
          case 32: {
            PlayerLocalJoyIdx = input.ReadInt32();
            break;
          }
          case 40: {
            PlayerLocalGamePadType = (global::AxibugProtobuf.GamePadType) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Update_RESP : pb::IMessage<Protobuf_Room_Update_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Update_RESP> _parser = new pb::MessageParser<Protobuf_Room_Update_RESP>(() => new Protobuf_Room_Update_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Update_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[21]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Update_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Update_RESP(Protobuf_Room_Update_RESP other) : this() {
      updateType_ = other.updateType_;
      roomMiniInfo_ = other.roomMiniInfo_ != null ? other.roomMiniInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Update_RESP Clone() {
      return new Protobuf_Room_Update_RESP(this);
    }

    /// <summary>Field number for the "UpdateType" field.</summary>
    public const int UpdateTypeFieldNumber = 1;
    private int updateType_;
    /// <summary>
    ///[0] 更新或新增 [1] 删除
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int UpdateType {
      get { return updateType_; }
      set {
        updateType_ = value;
      }
    }

    /// <summary>Field number for the "RoomMiniInfo" field.</summary>
    public const int RoomMiniInfoFieldNumber = 2;
    private global::AxibugProtobuf.Protobuf_Room_MiniInfo roomMiniInfo_;
    /// <summary>
    ///房间信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.Protobuf_Room_MiniInfo RoomMiniInfo {
      get { return roomMiniInfo_; }
      set {
        roomMiniInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Update_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Update_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (UpdateType != other.UpdateType) return false;
      if (!object.Equals(RoomMiniInfo, other.RoomMiniInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (UpdateType != 0) hash ^= UpdateType.GetHashCode();
      if (roomMiniInfo_ != null) hash ^= RoomMiniInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (UpdateType != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(UpdateType);
      }
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (UpdateType != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(UpdateType);
      }
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (UpdateType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UpdateType);
      }
      if (roomMiniInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Update_RESP other) {
      if (other == null) {
        return;
      }
      if (other.UpdateType != 0) {
        UpdateType = other.UpdateType;
      }
      if (other.roomMiniInfo_ != null) {
        if (roomMiniInfo_ == null) {
          RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
        }
        RoomMiniInfo.MergeFrom(other.RoomMiniInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            UpdateType = input.ReadInt32();
            break;
          }
          case 18: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            UpdateType = input.ReadInt32();
            break;
          }
          case 18: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Screnn_Frame : pb::IMessage<Protobuf_Screnn_Frame>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Screnn_Frame> _parser = new pb::MessageParser<Protobuf_Screnn_Frame>(() => new Protobuf_Screnn_Frame());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Screnn_Frame> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[22]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Screnn_Frame() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Screnn_Frame(Protobuf_Screnn_Frame other) : this() {
      roomID_ = other.roomID_;
      frameID_ = other.frameID_;
      rawBitmap_ = other.rawBitmap_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Screnn_Frame Clone() {
      return new Protobuf_Screnn_Frame(this);
    }

    /// <summary>Field number for the "RoomID" field.</summary>
    public const int RoomIDFieldNumber = 1;
    private int roomID_;
    /// <summary>
    ///房间ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomID {
      get { return roomID_; }
      set {
        roomID_ = value;
      }
    }

    /// <summary>Field number for the "FrameID" field.</summary>
    public const int FrameIDFieldNumber = 2;
    private int frameID_;
    /// <summary>
    ///帧编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int FrameID {
      get { return frameID_; }
      set {
        frameID_ = value;
      }
    }

    /// <summary>Field number for the "RawBitmap" field.</summary>
    public const int RawBitmapFieldNumber = 3;
    private pb::ByteString rawBitmap_ = pb::ByteString.Empty;
    /// <summary>
    ///渲染层画面
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString RawBitmap {
      get { return rawBitmap_; }
      set {
        rawBitmap_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Screnn_Frame);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Screnn_Frame other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomID != other.RoomID) return false;
      if (FrameID != other.FrameID) return false;
      if (RawBitmap != other.RawBitmap) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (FrameID != 0) hash ^= FrameID.GetHashCode();
      if (RawBitmap.Length != 0) hash ^= RawBitmap.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RoomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoomID);
      }
      if (FrameID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FrameID);
      }
      if (RawBitmap.Length != 0) {
        output.WriteRawTag(26);
        output.WriteBytes(RawBitmap);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RoomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoomID);
      }
      if (FrameID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FrameID);
      }
      if (RawBitmap.Length != 0) {
        output.WriteRawTag(26);
        output.WriteBytes(RawBitmap);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
      }
      if (FrameID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FrameID);
      }
      if (RawBitmap.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(RawBitmap);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Screnn_Frame other) {
      if (other == null) {
        return;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      if (other.FrameID != 0) {
        FrameID = other.FrameID;
      }
      if (other.RawBitmap.Length != 0) {
        RawBitmap = other.RawBitmap;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
          case 16: {
            FrameID = input.ReadInt32();
            break;
          }
          case 26: {
            RawBitmap = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
          case 16: {
            FrameID = input.ReadInt32();
            break;
          }
          case 26: {
            RawBitmap = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_SinglePlayerInputData : pb::IMessage<Protobuf_Room_SinglePlayerInputData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_SinglePlayerInputData> _parser = new pb::MessageParser<Protobuf_Room_SinglePlayerInputData>(() => new Protobuf_Room_SinglePlayerInputData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_SinglePlayerInputData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[23]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_SinglePlayerInputData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_SinglePlayerInputData(Protobuf_Room_SinglePlayerInputData other) : this() {
      frameID_ = other.frameID_;
      inputData_ = other.inputData_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_SinglePlayerInputData Clone() {
      return new Protobuf_Room_SinglePlayerInputData(this);
    }

    /// <summary>Field number for the "FrameID" field.</summary>
    public const int FrameIDFieldNumber = 1;
    private uint frameID_;
    /// <summary>
    ///帧编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint FrameID {
      get { return frameID_; }
      set {
        frameID_ = value;
      }
    }

    /// <summary>Field number for the "InputData" field.</summary>
    public const int InputDataFieldNumber = 2;
    private uint inputData_;
    /// <summary>
    ///单个玩家操作位运算汇总
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint InputData {
      get { return inputData_; }
      set {
        inputData_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_SinglePlayerInputData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_SinglePlayerInputData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FrameID != other.FrameID) return false;
      if (InputData != other.InputData) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (FrameID != 0) hash ^= FrameID.GetHashCode();
      if (InputData != 0) hash ^= InputData.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FrameID != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(FrameID);
      }
      if (InputData != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(InputData);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FrameID != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(FrameID);
      }
      if (InputData != 0) {
        output.WriteRawTag(16);
        output.WriteUInt32(InputData);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (FrameID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameID);
      }
      if (InputData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(InputData);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_SinglePlayerInputData other) {
      if (other == null) {
        return;
      }
      if (other.FrameID != 0) {
        FrameID = other.FrameID;
      }
      if (other.InputData != 0) {
        InputData = other.InputData;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            FrameID = input.ReadUInt32();
            break;
          }
          case 16: {
            InputData = input.ReadUInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            FrameID = input.ReadUInt32();
            break;
          }
          case 16: {
            InputData = input.ReadUInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Syn_RoomFrameAllInputData : pb::IMessage<Protobuf_Room_Syn_RoomFrameAllInputData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Syn_RoomFrameAllInputData> _parser = new pb::MessageParser<Protobuf_Room_Syn_RoomFrameAllInputData>(() => new Protobuf_Room_Syn_RoomFrameAllInputData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Syn_RoomFrameAllInputData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[24]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Syn_RoomFrameAllInputData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Syn_RoomFrameAllInputData(Protobuf_Room_Syn_RoomFrameAllInputData other) : this() {
      frameID_ = other.frameID_;
      inputData_ = other.inputData_;
      serverFrameID_ = other.serverFrameID_;
      serverForwardCount_ = other.serverForwardCount_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Syn_RoomFrameAllInputData Clone() {
      return new Protobuf_Room_Syn_RoomFrameAllInputData(this);
    }

    /// <summary>Field number for the "FrameID" field.</summary>
    public const int FrameIDFieldNumber = 1;
    private uint frameID_;
    /// <summary>
    ///帧编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint FrameID {
      get { return frameID_; }
      set {
        frameID_ = value;
      }
    }

    /// <summary>Field number for the "InputData" field.</summary>
    public const int InputDataFieldNumber = 2;
    private ulong inputData_;
    /// <summary>
    ///所有玩家操作位运算汇总
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public ulong InputData {
      get { return inputData_; }
      set {
        inputData_ = value;
      }
    }

    /// <summary>Field number for the "ServerFrameID" field.</summary>
    public const int ServerFrameIDFieldNumber = 3;
    private uint serverFrameID_;
    /// <summary>
    ///服务器帧编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint ServerFrameID {
      get { return serverFrameID_; }
      set {
        serverFrameID_ = value;
      }
    }

    /// <summary>Field number for the "ServerForwardCount" field.</summary>
    public const int ServerForwardCountFieldNumber = 4;
    private uint serverForwardCount_;
    /// <summary>
    ///服务器提前量
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public uint ServerForwardCount {
      get { return serverForwardCount_; }
      set {
        serverForwardCount_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Syn_RoomFrameAllInputData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Syn_RoomFrameAllInputData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FrameID != other.FrameID) return false;
      if (InputData != other.InputData) return false;
      if (ServerFrameID != other.ServerFrameID) return false;
      if (ServerForwardCount != other.ServerForwardCount) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (FrameID != 0) hash ^= FrameID.GetHashCode();
      if (InputData != 0UL) hash ^= InputData.GetHashCode();
      if (ServerFrameID != 0) hash ^= ServerFrameID.GetHashCode();
      if (ServerForwardCount != 0) hash ^= ServerForwardCount.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (FrameID != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(FrameID);
      }
      if (InputData != 0UL) {
        output.WriteRawTag(16);
        output.WriteUInt64(InputData);
      }
      if (ServerFrameID != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(ServerFrameID);
      }
      if (ServerForwardCount != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(ServerForwardCount);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (FrameID != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(FrameID);
      }
      if (InputData != 0UL) {
        output.WriteRawTag(16);
        output.WriteUInt64(InputData);
      }
      if (ServerFrameID != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(ServerFrameID);
      }
      if (ServerForwardCount != 0) {
        output.WriteRawTag(32);
        output.WriteUInt32(ServerForwardCount);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (FrameID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(FrameID);
      }
      if (InputData != 0UL) {
        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(InputData);
      }
      if (ServerFrameID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerFrameID);
      }
      if (ServerForwardCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerForwardCount);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Syn_RoomFrameAllInputData other) {
      if (other == null) {
        return;
      }
      if (other.FrameID != 0) {
        FrameID = other.FrameID;
      }
      if (other.InputData != 0UL) {
        InputData = other.InputData;
      }
      if (other.ServerFrameID != 0) {
        ServerFrameID = other.ServerFrameID;
      }
      if (other.ServerForwardCount != 0) {
        ServerForwardCount = other.ServerForwardCount;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            FrameID = input.ReadUInt32();
            break;
          }
          case 16: {
            InputData = input.ReadUInt64();
            break;
          }
          case 24: {
            ServerFrameID = input.ReadUInt32();
            break;
          }
          case 32: {
            ServerForwardCount = input.ReadUInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            FrameID = input.ReadUInt32();
            break;
          }
          case 16: {
            InputData = input.ReadUInt64();
            break;
          }
          case 24: {
            ServerFrameID = input.ReadUInt32();
            break;
          }
          case 32: {
            ServerForwardCount = input.ReadUInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Create : pb::IMessage<Protobuf_Room_Create>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Create> _parser = new pb::MessageParser<Protobuf_Room_Create>(() => new Protobuf_Room_Create());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Create> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[25]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Create() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Create(Protobuf_Room_Create other) : this() {
      gameRomID_ = other.gameRomID_;
      gameRomHash_ = other.gameRomHash_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Create Clone() {
      return new Protobuf_Room_Create(this);
    }

    /// <summary>Field number for the "GameRomID" field.</summary>
    public const int GameRomIDFieldNumber = 1;
    private int gameRomID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int GameRomID {
      get { return gameRomID_; }
      set {
        gameRomID_ = value;
      }
    }

    /// <summary>Field number for the "GameRomHash" field.</summary>
    public const int GameRomHashFieldNumber = 2;
    private string gameRomHash_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string GameRomHash {
      get { return gameRomHash_; }
      set {
        gameRomHash_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Create);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Create other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (GameRomID != other.GameRomID) return false;
      if (GameRomHash != other.GameRomHash) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (GameRomID != 0) hash ^= GameRomID.GetHashCode();
      if (GameRomHash.Length != 0) hash ^= GameRomHash.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (GameRomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GameRomID);
      }
      if (GameRomHash.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(GameRomHash);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (GameRomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GameRomID);
      }
      if (GameRomHash.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(GameRomHash);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (GameRomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GameRomID);
      }
      if (GameRomHash.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(GameRomHash);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Create other) {
      if (other == null) {
        return;
      }
      if (other.GameRomID != 0) {
        GameRomID = other.GameRomID;
      }
      if (other.GameRomHash.Length != 0) {
        GameRomHash = other.GameRomHash;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            GameRomID = input.ReadInt32();
            break;
          }
          case 18: {
            GameRomHash = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            GameRomID = input.ReadInt32();
            break;
          }
          case 18: {
            GameRomHash = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Create_RESP : pb::IMessage<Protobuf_Room_Create_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Create_RESP> _parser = new pb::MessageParser<Protobuf_Room_Create_RESP>(() => new Protobuf_Room_Create_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Create_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[26]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Create_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Create_RESP(Protobuf_Room_Create_RESP other) : this() {
      roomMiniInfo_ = other.roomMiniInfo_ != null ? other.roomMiniInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Create_RESP Clone() {
      return new Protobuf_Room_Create_RESP(this);
    }

    /// <summary>Field number for the "RoomMiniInfo" field.</summary>
    public const int RoomMiniInfoFieldNumber = 1;
    private global::AxibugProtobuf.Protobuf_Room_MiniInfo roomMiniInfo_;
    /// <summary>
    ///房间信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.Protobuf_Room_MiniInfo RoomMiniInfo {
      get { return roomMiniInfo_; }
      set {
        roomMiniInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Create_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Create_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(RoomMiniInfo, other.RoomMiniInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (roomMiniInfo_ != null) hash ^= RoomMiniInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (roomMiniInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Create_RESP other) {
      if (other == null) {
        return;
      }
      if (other.roomMiniInfo_ != null) {
        if (roomMiniInfo_ == null) {
          RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
        }
        RoomMiniInfo.MergeFrom(other.RoomMiniInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Join : pb::IMessage<Protobuf_Room_Join>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Join> _parser = new pb::MessageParser<Protobuf_Room_Join>(() => new Protobuf_Room_Join());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Join> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[27]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Join() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Join(Protobuf_Room_Join other) : this() {
      roomID_ = other.roomID_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Join Clone() {
      return new Protobuf_Room_Join(this);
    }

    /// <summary>Field number for the "RoomID" field.</summary>
    public const int RoomIDFieldNumber = 1;
    private int roomID_;
    /// <summary>
    ///房间ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomID {
      get { return roomID_; }
      set {
        roomID_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Join);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Join other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomID != other.RoomID) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Join other) {
      if (other == null) {
        return;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Join_RESP : pb::IMessage<Protobuf_Room_Join_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Join_RESP> _parser = new pb::MessageParser<Protobuf_Room_Join_RESP>(() => new Protobuf_Room_Join_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Join_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[28]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Join_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Join_RESP(Protobuf_Room_Join_RESP other) : this() {
      roomMiniInfo_ = other.roomMiniInfo_ != null ? other.roomMiniInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Join_RESP Clone() {
      return new Protobuf_Room_Join_RESP(this);
    }

    /// <summary>Field number for the "RoomMiniInfo" field.</summary>
    public const int RoomMiniInfoFieldNumber = 1;
    private global::AxibugProtobuf.Protobuf_Room_MiniInfo roomMiniInfo_;
    /// <summary>
    ///房间信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.Protobuf_Room_MiniInfo RoomMiniInfo {
      get { return roomMiniInfo_; }
      set {
        roomMiniInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Join_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Join_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(RoomMiniInfo, other.RoomMiniInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (roomMiniInfo_ != null) hash ^= RoomMiniInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (roomMiniInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Join_RESP other) {
      if (other == null) {
        return;
      }
      if (other.roomMiniInfo_ != null) {
        if (roomMiniInfo_ == null) {
          RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
        }
        RoomMiniInfo.MergeFrom(other.RoomMiniInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Leave : pb::IMessage<Protobuf_Room_Leave>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Leave> _parser = new pb::MessageParser<Protobuf_Room_Leave>(() => new Protobuf_Room_Leave());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Leave> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[29]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Leave() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Leave(Protobuf_Room_Leave other) : this() {
      roomID_ = other.roomID_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Leave Clone() {
      return new Protobuf_Room_Leave(this);
    }

    /// <summary>Field number for the "RoomID" field.</summary>
    public const int RoomIDFieldNumber = 1;
    private int roomID_;
    /// <summary>
    ///离开的房间ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomID {
      get { return roomID_; }
      set {
        roomID_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Leave);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Leave other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomID != other.RoomID) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Leave other) {
      if (other == null) {
        return;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Leave_RESP : pb::IMessage<Protobuf_Room_Leave_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Leave_RESP> _parser = new pb::MessageParser<Protobuf_Room_Leave_RESP>(() => new Protobuf_Room_Leave_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Leave_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[30]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Leave_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Leave_RESP(Protobuf_Room_Leave_RESP other) : this() {
      roomID_ = other.roomID_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Leave_RESP Clone() {
      return new Protobuf_Room_Leave_RESP(this);
    }

    /// <summary>Field number for the "RoomID" field.</summary>
    public const int RoomIDFieldNumber = 1;
    private int roomID_;
    /// <summary>
    ///离开的房间ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomID {
      get { return roomID_; }
      set {
        roomID_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Leave_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Leave_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomID != other.RoomID) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Leave_RESP other) {
      if (other == null) {
        return;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_MyRoom_State_Change : pb::IMessage<Protobuf_Room_MyRoom_State_Change>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_MyRoom_State_Change> _parser = new pb::MessageParser<Protobuf_Room_MyRoom_State_Change>(() => new Protobuf_Room_MyRoom_State_Change());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_MyRoom_State_Change> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[31]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_MyRoom_State_Change() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_MyRoom_State_Change(Protobuf_Room_MyRoom_State_Change other) : this() {
      roomMiniInfo_ = other.roomMiniInfo_ != null ? other.roomMiniInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_MyRoom_State_Change Clone() {
      return new Protobuf_Room_MyRoom_State_Change(this);
    }

    /// <summary>Field number for the "RoomMiniInfo" field.</summary>
    public const int RoomMiniInfoFieldNumber = 1;
    private global::AxibugProtobuf.Protobuf_Room_MiniInfo roomMiniInfo_;
    /// <summary>
    ///更新房间信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.Protobuf_Room_MiniInfo RoomMiniInfo {
      get { return roomMiniInfo_; }
      set {
        roomMiniInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_MyRoom_State_Change);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_MyRoom_State_Change other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(RoomMiniInfo, other.RoomMiniInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (roomMiniInfo_ != null) hash ^= RoomMiniInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (roomMiniInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (roomMiniInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RoomMiniInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_MyRoom_State_Change other) {
      if (other == null) {
        return;
      }
      if (other.roomMiniInfo_ != null) {
        if (roomMiniInfo_ == null) {
          RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
        }
        RoomMiniInfo.MergeFrom(other.RoomMiniInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (roomMiniInfo_ == null) {
              RoomMiniInfo = new global::AxibugProtobuf.Protobuf_Room_MiniInfo();
            }
            input.ReadMessage(RoomMiniInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Change_PlaySlotWithJoy : pb::IMessage<Protobuf_Room_Change_PlaySlotWithJoy>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Change_PlaySlotWithJoy> _parser = new pb::MessageParser<Protobuf_Room_Change_PlaySlotWithJoy>(() => new Protobuf_Room_Change_PlaySlotWithJoy());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Change_PlaySlotWithJoy> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[32]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Change_PlaySlotWithJoy() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Change_PlaySlotWithJoy(Protobuf_Room_Change_PlaySlotWithJoy other) : this() {
      slotWithJoy_ = other.slotWithJoy_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Change_PlaySlotWithJoy Clone() {
      return new Protobuf_Room_Change_PlaySlotWithJoy(this);
    }

    /// <summary>Field number for the "SlotWithJoy" field.</summary>
    public const int SlotWithJoyFieldNumber = 1;
    private static readonly pb::FieldCodec<global::AxibugProtobuf.Protobuf_PlaySlotIdxWithJoyIdx> _repeated_slotWithJoy_codec
        = pb::FieldCodec.ForMessage(10, global::AxibugProtobuf.Protobuf_PlaySlotIdxWithJoyIdx.Parser);
    private readonly pbc::RepeatedField<global::AxibugProtobuf.Protobuf_PlaySlotIdxWithJoyIdx> slotWithJoy_ = new pbc::RepeatedField<global::AxibugProtobuf.Protobuf_PlaySlotIdxWithJoyIdx>();
    /// <summary>
    ///P1~P4编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::AxibugProtobuf.Protobuf_PlaySlotIdxWithJoyIdx> SlotWithJoy {
      get { return slotWithJoy_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Change_PlaySlotWithJoy);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Change_PlaySlotWithJoy other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!slotWithJoy_.Equals(other.slotWithJoy_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= slotWithJoy_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      slotWithJoy_.WriteTo(output, _repeated_slotWithJoy_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      slotWithJoy_.WriteTo(ref output, _repeated_slotWithJoy_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      size += slotWithJoy_.CalculateSize(_repeated_slotWithJoy_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Change_PlaySlotWithJoy other) {
      if (other == null) {
        return;
      }
      slotWithJoy_.Add(other.slotWithJoy_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            slotWithJoy_.AddEntriesFrom(input, _repeated_slotWithJoy_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            slotWithJoy_.AddEntriesFrom(ref input, _repeated_slotWithJoy_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_PlaySlotIdxWithJoyIdx : pb::IMessage<Protobuf_PlaySlotIdxWithJoyIdx>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_PlaySlotIdxWithJoyIdx> _parser = new pb::MessageParser<Protobuf_PlaySlotIdxWithJoyIdx>(() => new Protobuf_PlaySlotIdxWithJoyIdx());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_PlaySlotIdxWithJoyIdx> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[33]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_PlaySlotIdxWithJoyIdx() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_PlaySlotIdxWithJoyIdx(Protobuf_PlaySlotIdxWithJoyIdx other) : this() {
      playerSlotIdx_ = other.playerSlotIdx_;
      playerLocalJoyIdx_ = other.playerLocalJoyIdx_;
      playerLocalGamePadType_ = other.playerLocalGamePadType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_PlaySlotIdxWithJoyIdx Clone() {
      return new Protobuf_PlaySlotIdxWithJoyIdx(this);
    }

    /// <summary>Field number for the "PlayerSlotIdx" field.</summary>
    public const int PlayerSlotIdxFieldNumber = 1;
    private int playerSlotIdx_;
    /// <summary>
    ///P1~P4编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int PlayerSlotIdx {
      get { return playerSlotIdx_; }
      set {
        playerSlotIdx_ = value;
      }
    }

    /// <summary>Field number for the "PlayerLocalJoyIdx" field.</summary>
    public const int PlayerLocalJoyIdxFieldNumber = 2;
    private int playerLocalJoyIdx_;
    /// <summary>
    ///客户端Joy编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int PlayerLocalJoyIdx {
      get { return playerLocalJoyIdx_; }
      set {
        playerLocalJoyIdx_ = value;
      }
    }

    /// <summary>Field number for the "PlayerLocalGamePadType" field.</summary>
    public const int PlayerLocalGamePadTypeFieldNumber = 3;
    private global::AxibugProtobuf.GamePadType playerLocalGamePadType_ = global::AxibugProtobuf.GamePadType.Keyboard;
    /// <summary>
    ///客户端手柄类型
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.GamePadType PlayerLocalGamePadType {
      get { return playerLocalGamePadType_; }
      set {
        playerLocalGamePadType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_PlaySlotIdxWithJoyIdx);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_PlaySlotIdxWithJoyIdx other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PlayerSlotIdx != other.PlayerSlotIdx) return false;
      if (PlayerLocalJoyIdx != other.PlayerLocalJoyIdx) return false;
      if (PlayerLocalGamePadType != other.PlayerLocalGamePadType) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (PlayerSlotIdx != 0) hash ^= PlayerSlotIdx.GetHashCode();
      if (PlayerLocalJoyIdx != 0) hash ^= PlayerLocalJoyIdx.GetHashCode();
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) hash ^= PlayerLocalGamePadType.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (PlayerSlotIdx != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PlayerSlotIdx);
      }
      if (PlayerLocalJoyIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PlayerLocalJoyIdx);
      }
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        output.WriteRawTag(24);
        output.WriteEnum((int) PlayerLocalGamePadType);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (PlayerSlotIdx != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PlayerSlotIdx);
      }
      if (PlayerLocalJoyIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PlayerLocalJoyIdx);
      }
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        output.WriteRawTag(24);
        output.WriteEnum((int) PlayerLocalGamePadType);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (PlayerSlotIdx != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerSlotIdx);
      }
      if (PlayerLocalJoyIdx != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerLocalJoyIdx);
      }
      if (PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlayerLocalGamePadType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_PlaySlotIdxWithJoyIdx other) {
      if (other == null) {
        return;
      }
      if (other.PlayerSlotIdx != 0) {
        PlayerSlotIdx = other.PlayerSlotIdx;
      }
      if (other.PlayerLocalJoyIdx != 0) {
        PlayerLocalJoyIdx = other.PlayerLocalJoyIdx;
      }
      if (other.PlayerLocalGamePadType != global::AxibugProtobuf.GamePadType.Keyboard) {
        PlayerLocalGamePadType = other.PlayerLocalGamePadType;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            PlayerSlotIdx = input.ReadInt32();
            break;
          }
          case 16: {
            PlayerLocalJoyIdx = input.ReadInt32();
            break;
          }
          case 24: {
            PlayerLocalGamePadType = (global::AxibugProtobuf.GamePadType) input.ReadEnum();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PlayerSlotIdx = input.ReadInt32();
            break;
          }
          case 16: {
            PlayerLocalJoyIdx = input.ReadInt32();
            break;
          }
          case 24: {
            PlayerLocalGamePadType = (global::AxibugProtobuf.GamePadType) input.ReadEnum();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Change_PlaySlotWithJoy_RESP : pb::IMessage<Protobuf_Room_Change_PlaySlotWithJoy_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Change_PlaySlotWithJoy_RESP> _parser = new pb::MessageParser<Protobuf_Room_Change_PlaySlotWithJoy_RESP>(() => new Protobuf_Room_Change_PlaySlotWithJoy_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Change_PlaySlotWithJoy_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[34]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Change_PlaySlotWithJoy_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Change_PlaySlotWithJoy_RESP(Protobuf_Room_Change_PlaySlotWithJoy_RESP other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Change_PlaySlotWithJoy_RESP Clone() {
      return new Protobuf_Room_Change_PlaySlotWithJoy_RESP(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Change_PlaySlotWithJoy_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Change_PlaySlotWithJoy_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Change_PlaySlotWithJoy_RESP other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_WaitStep_RESP : pb::IMessage<Protobuf_Room_WaitStep_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_WaitStep_RESP> _parser = new pb::MessageParser<Protobuf_Room_WaitStep_RESP>(() => new Protobuf_Room_WaitStep_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_WaitStep_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[35]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_WaitStep_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_WaitStep_RESP(Protobuf_Room_WaitStep_RESP other) : this() {
      waitStep_ = other.waitStep_;
      loadStateRaw_ = other.loadStateRaw_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_WaitStep_RESP Clone() {
      return new Protobuf_Room_WaitStep_RESP(this);
    }

    /// <summary>Field number for the "WaitStep" field.</summary>
    public const int WaitStepFieldNumber = 1;
    private int waitStep_;
    /// <summary>
    ///状态 [0]等待主机上报即时存档 [1]要求客户端准备 [2]开始(收到本状态时,立即开始跑模拟器核心)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int WaitStep {
      get { return waitStep_; }
      set {
        waitStep_ = value;
      }
    }

    /// <summary>Field number for the "LoadStateRaw" field.</summary>
    public const int LoadStateRawFieldNumber = 2;
    private pb::ByteString loadStateRaw_ = pb::ByteString.Empty;
    /// <summary>
    ///如下是 WaitStep = 1 时,才有值。广播即时存档
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString LoadStateRaw {
      get { return loadStateRaw_; }
      set {
        loadStateRaw_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_WaitStep_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_WaitStep_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (WaitStep != other.WaitStep) return false;
      if (LoadStateRaw != other.LoadStateRaw) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (WaitStep != 0) hash ^= WaitStep.GetHashCode();
      if (LoadStateRaw.Length != 0) hash ^= LoadStateRaw.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (WaitStep != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(WaitStep);
      }
      if (LoadStateRaw.Length != 0) {
        output.WriteRawTag(18);
        output.WriteBytes(LoadStateRaw);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (WaitStep != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(WaitStep);
      }
      if (LoadStateRaw.Length != 0) {
        output.WriteRawTag(18);
        output.WriteBytes(LoadStateRaw);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (WaitStep != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaitStep);
      }
      if (LoadStateRaw.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(LoadStateRaw);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_WaitStep_RESP other) {
      if (other == null) {
        return;
      }
      if (other.WaitStep != 0) {
        WaitStep = other.WaitStep;
      }
      if (other.LoadStateRaw.Length != 0) {
        LoadStateRaw = other.LoadStateRaw;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            WaitStep = input.ReadInt32();
            break;
          }
          case 18: {
            LoadStateRaw = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            WaitStep = input.ReadInt32();
            break;
          }
          case 18: {
            LoadStateRaw = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_HostPlayer_UpdateStateRaw : pb::IMessage<Protobuf_Room_HostPlayer_UpdateStateRaw>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_HostPlayer_UpdateStateRaw> _parser = new pb::MessageParser<Protobuf_Room_HostPlayer_UpdateStateRaw>(() => new Protobuf_Room_HostPlayer_UpdateStateRaw());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_HostPlayer_UpdateStateRaw> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[36]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_HostPlayer_UpdateStateRaw() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_HostPlayer_UpdateStateRaw(Protobuf_Room_HostPlayer_UpdateStateRaw other) : this() {
      loadStateRaw_ = other.loadStateRaw_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_HostPlayer_UpdateStateRaw Clone() {
      return new Protobuf_Room_HostPlayer_UpdateStateRaw(this);
    }

    /// <summary>Field number for the "LoadStateRaw" field.</summary>
    public const int LoadStateRawFieldNumber = 1;
    private pb::ByteString loadStateRaw_ = pb::ByteString.Empty;
    /// <summary>
    ///即时存档byte数据
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString LoadStateRaw {
      get { return loadStateRaw_; }
      set {
        loadStateRaw_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_HostPlayer_UpdateStateRaw);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_HostPlayer_UpdateStateRaw other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (LoadStateRaw != other.LoadStateRaw) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (LoadStateRaw.Length != 0) hash ^= LoadStateRaw.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (LoadStateRaw.Length != 0) {
        output.WriteRawTag(10);
        output.WriteBytes(LoadStateRaw);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (LoadStateRaw.Length != 0) {
        output.WriteRawTag(10);
        output.WriteBytes(LoadStateRaw);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (LoadStateRaw.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(LoadStateRaw);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_HostPlayer_UpdateStateRaw other) {
      if (other == null) {
        return;
      }
      if (other.LoadStateRaw.Length != 0) {
        LoadStateRaw = other.LoadStateRaw;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            LoadStateRaw = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            LoadStateRaw = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_HostPlayer_UpdateStateRaw_RESP : pb::IMessage<Protobuf_Room_HostPlayer_UpdateStateRaw_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_HostPlayer_UpdateStateRaw_RESP> _parser = new pb::MessageParser<Protobuf_Room_HostPlayer_UpdateStateRaw_RESP>(() => new Protobuf_Room_HostPlayer_UpdateStateRaw_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_HostPlayer_UpdateStateRaw_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[37]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_HostPlayer_UpdateStateRaw_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_HostPlayer_UpdateStateRaw_RESP(Protobuf_Room_HostPlayer_UpdateStateRaw_RESP other) : this() {
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_HostPlayer_UpdateStateRaw_RESP Clone() {
      return new Protobuf_Room_HostPlayer_UpdateStateRaw_RESP(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_HostPlayer_UpdateStateRaw_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_HostPlayer_UpdateStateRaw_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_HostPlayer_UpdateStateRaw_RESP other) {
      if (other == null) {
        return;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Player_Ready : pb::IMessage<Protobuf_Room_Player_Ready>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Player_Ready> _parser = new pb::MessageParser<Protobuf_Room_Player_Ready>(() => new Protobuf_Room_Player_Ready());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Player_Ready> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[38]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Player_Ready() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Player_Ready(Protobuf_Room_Player_Ready other) : this() {
      pushFrameNeedTimeUs_ = other.pushFrameNeedTimeUs_;
      loadStateNeedTimeUs_ = other.loadStateNeedTimeUs_;
      videoFrameShowNeedTimeUs_ = other.videoFrameShowNeedTimeUs_;
      audioFramePlayNeedTimeUs_ = other.audioFramePlayNeedTimeUs_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Player_Ready Clone() {
      return new Protobuf_Room_Player_Ready(this);
    }

    /// <summary>Field number for the "PushFrameNeedTimeUs" field.</summary>
    public const int PushFrameNeedTimeUsFieldNumber = 1;
    private float pushFrameNeedTimeUs_;
    /// <summary>
    ///push帧所需平均时间(微秒)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float PushFrameNeedTimeUs {
      get { return pushFrameNeedTimeUs_; }
      set {
        pushFrameNeedTimeUs_ = value;
      }
    }

    /// <summary>Field number for the "LoadStateNeedTimeUs" field.</summary>
    public const int LoadStateNeedTimeUsFieldNumber = 2;
    private float loadStateNeedTimeUs_;
    /// <summary>
    ///加载即时存档所需平均时间(微秒)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float LoadStateNeedTimeUs {
      get { return loadStateNeedTimeUs_; }
      set {
        loadStateNeedTimeUs_ = value;
      }
    }

    /// <summary>Field number for the "VideoFrameShowNeedTimeUs" field.</summary>
    public const int VideoFrameShowNeedTimeUsFieldNumber = 3;
    private float videoFrameShowNeedTimeUs_;
    /// <summary>
    ///视频一帧所需时间(微秒)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float VideoFrameShowNeedTimeUs {
      get { return videoFrameShowNeedTimeUs_; }
      set {
        videoFrameShowNeedTimeUs_ = value;
      }
    }

    /// <summary>Field number for the "AudioFramePlayNeedTimeUs" field.</summary>
    public const int AudioFramePlayNeedTimeUsFieldNumber = 4;
    private float audioFramePlayNeedTimeUs_;
    /// <summary>
    ///音频处理一帧所需时间(微秒)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public float AudioFramePlayNeedTimeUs {
      get { return audioFramePlayNeedTimeUs_; }
      set {
        audioFramePlayNeedTimeUs_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Player_Ready);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Player_Ready other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PushFrameNeedTimeUs, other.PushFrameNeedTimeUs)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LoadStateNeedTimeUs, other.LoadStateNeedTimeUs)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(VideoFrameShowNeedTimeUs, other.VideoFrameShowNeedTimeUs)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(AudioFramePlayNeedTimeUs, other.AudioFramePlayNeedTimeUs)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (PushFrameNeedTimeUs != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PushFrameNeedTimeUs);
      if (LoadStateNeedTimeUs != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LoadStateNeedTimeUs);
      if (VideoFrameShowNeedTimeUs != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(VideoFrameShowNeedTimeUs);
      if (AudioFramePlayNeedTimeUs != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(AudioFramePlayNeedTimeUs);
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (PushFrameNeedTimeUs != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(PushFrameNeedTimeUs);
      }
      if (LoadStateNeedTimeUs != 0F) {
        output.WriteRawTag(21);
        output.WriteFloat(LoadStateNeedTimeUs);
      }
      if (VideoFrameShowNeedTimeUs != 0F) {
        output.WriteRawTag(29);
        output.WriteFloat(VideoFrameShowNeedTimeUs);
      }
      if (AudioFramePlayNeedTimeUs != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(AudioFramePlayNeedTimeUs);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (PushFrameNeedTimeUs != 0F) {
        output.WriteRawTag(13);
        output.WriteFloat(PushFrameNeedTimeUs);
      }
      if (LoadStateNeedTimeUs != 0F) {
        output.WriteRawTag(21);
        output.WriteFloat(LoadStateNeedTimeUs);
      }
      if (VideoFrameShowNeedTimeUs != 0F) {
        output.WriteRawTag(29);
        output.WriteFloat(VideoFrameShowNeedTimeUs);
      }
      if (AudioFramePlayNeedTimeUs != 0F) {
        output.WriteRawTag(37);
        output.WriteFloat(AudioFramePlayNeedTimeUs);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (PushFrameNeedTimeUs != 0F) {
        size += 1 + 4;
      }
      if (LoadStateNeedTimeUs != 0F) {
        size += 1 + 4;
      }
      if (VideoFrameShowNeedTimeUs != 0F) {
        size += 1 + 4;
      }
      if (AudioFramePlayNeedTimeUs != 0F) {
        size += 1 + 4;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Player_Ready other) {
      if (other == null) {
        return;
      }
      if (other.PushFrameNeedTimeUs != 0F) {
        PushFrameNeedTimeUs = other.PushFrameNeedTimeUs;
      }
      if (other.LoadStateNeedTimeUs != 0F) {
        LoadStateNeedTimeUs = other.LoadStateNeedTimeUs;
      }
      if (other.VideoFrameShowNeedTimeUs != 0F) {
        VideoFrameShowNeedTimeUs = other.VideoFrameShowNeedTimeUs;
      }
      if (other.AudioFramePlayNeedTimeUs != 0F) {
        AudioFramePlayNeedTimeUs = other.AudioFramePlayNeedTimeUs;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 13: {
            PushFrameNeedTimeUs = input.ReadFloat();
            break;
          }
          case 21: {
            LoadStateNeedTimeUs = input.ReadFloat();
            break;
          }
          case 29: {
            VideoFrameShowNeedTimeUs = input.ReadFloat();
            break;
          }
          case 37: {
            AudioFramePlayNeedTimeUs = input.ReadFloat();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 13: {
            PushFrameNeedTimeUs = input.ReadFloat();
            break;
          }
          case 21: {
            LoadStateNeedTimeUs = input.ReadFloat();
            break;
          }
          case 29: {
            VideoFrameShowNeedTimeUs = input.ReadFloat();
            break;
          }
          case 37: {
            AudioFramePlayNeedTimeUs = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Get_Screen : pb::IMessage<Protobuf_Room_Get_Screen>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Get_Screen> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen>(() => new Protobuf_Room_Get_Screen());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Get_Screen> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[39]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Get_Screen() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Get_Screen(Protobuf_Room_Get_Screen other) : this() {
      roomID_ = other.roomID_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Get_Screen Clone() {
      return new Protobuf_Room_Get_Screen(this);
    }

    /// <summary>Field number for the "RoomID" field.</summary>
    public const int RoomIDFieldNumber = 1;
    private int roomID_;
    /// <summary>
    ///房间ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomID {
      get { return roomID_; }
      set {
        roomID_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Get_Screen);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Get_Screen other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomID != other.RoomID) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Get_Screen other) {
      if (other == null) {
        return;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Room_Get_Screen_RESP : pb::IMessage<Protobuf_Room_Get_Screen_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Room_Get_Screen_RESP> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen_RESP>(() => new Protobuf_Room_Get_Screen_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Room_Get_Screen_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[40]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Get_Screen_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Get_Screen_RESP(Protobuf_Room_Get_Screen_RESP other) : this() {
      roomID_ = other.roomID_;
      frameID_ = other.frameID_;
      rawBitmap_ = other.rawBitmap_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Room_Get_Screen_RESP Clone() {
      return new Protobuf_Room_Get_Screen_RESP(this);
    }

    /// <summary>Field number for the "RoomID" field.</summary>
    public const int RoomIDFieldNumber = 1;
    private int roomID_;
    /// <summary>
    ///房间ID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RoomID {
      get { return roomID_; }
      set {
        roomID_ = value;
      }
    }

    /// <summary>Field number for the "FrameID" field.</summary>
    public const int FrameIDFieldNumber = 2;
    private int frameID_;
    /// <summary>
    ///帧编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int FrameID {
      get { return frameID_; }
      set {
        frameID_ = value;
      }
    }

    /// <summary>Field number for the "RawBitmap" field.</summary>
    public const int RawBitmapFieldNumber = 3;
    private pb::ByteString rawBitmap_ = pb::ByteString.Empty;
    /// <summary>
    ///渲染层画面
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString RawBitmap {
      get { return rawBitmap_; }
      set {
        rawBitmap_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Room_Get_Screen_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Room_Get_Screen_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomID != other.RoomID) return false;
      if (FrameID != other.FrameID) return false;
      if (RawBitmap != other.RawBitmap) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RoomID != 0) hash ^= RoomID.GetHashCode();
      if (FrameID != 0) hash ^= FrameID.GetHashCode();
      if (RawBitmap.Length != 0) hash ^= RawBitmap.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RoomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoomID);
      }
      if (FrameID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FrameID);
      }
      if (RawBitmap.Length != 0) {
        output.WriteRawTag(26);
        output.WriteBytes(RawBitmap);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RoomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RoomID);
      }
      if (FrameID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FrameID);
      }
      if (RawBitmap.Length != 0) {
        output.WriteRawTag(26);
        output.WriteBytes(RawBitmap);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RoomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
      }
      if (FrameID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FrameID);
      }
      if (RawBitmap.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(RawBitmap);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Room_Get_Screen_RESP other) {
      if (other == null) {
        return;
      }
      if (other.RoomID != 0) {
        RoomID = other.RoomID;
      }
      if (other.FrameID != 0) {
        FrameID = other.FrameID;
      }
      if (other.RawBitmap.Length != 0) {
        RawBitmap = other.RawBitmap;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
          case 16: {
            FrameID = input.ReadInt32();
            break;
          }
          case 26: {
            RawBitmap = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RoomID = input.ReadInt32();
            break;
          }
          case 16: {
            FrameID = input.ReadInt32();
            break;
          }
          case 26: {
            RawBitmap = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Game_Mark : pb::IMessage<Protobuf_Game_Mark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Game_Mark> _parser = new pb::MessageParser<Protobuf_Game_Mark>(() => new Protobuf_Game_Mark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Game_Mark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[41]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Game_Mark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Game_Mark(Protobuf_Game_Mark other) : this() {
      romID_ = other.romID_;
      motion_ = other.motion_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Game_Mark Clone() {
      return new Protobuf_Game_Mark(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    /// <summary>
    ///RomID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "motion" field.</summary>
    public const int MotionFieldNumber = 2;
    private int motion_;
    /// <summary>
    ///[0]取消收藏[1]收藏
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Motion {
      get { return motion_; }
      set {
        motion_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Game_Mark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Game_Mark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      if (Motion != other.Motion) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (Motion != 0) hash ^= Motion.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (Motion != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Motion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (Motion != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Motion);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (Motion != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Motion);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Game_Mark other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      if (other.Motion != 0) {
        Motion = other.Motion;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            Motion = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            Motion = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Game_Mark_RESP : pb::IMessage<Protobuf_Game_Mark_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Game_Mark_RESP> _parser = new pb::MessageParser<Protobuf_Game_Mark_RESP>(() => new Protobuf_Game_Mark_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Game_Mark_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[42]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Game_Mark_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Game_Mark_RESP(Protobuf_Game_Mark_RESP other) : this() {
      romID_ = other.romID_;
      isStar_ = other.isStar_;
      stars_ = other.stars_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Game_Mark_RESP Clone() {
      return new Protobuf_Game_Mark_RESP(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    /// <summary>
    ///RomID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "IsStar" field.</summary>
    public const int IsStarFieldNumber = 2;
    private int isStar_;
    /// <summary>
    ///当前状态 [0]未收藏[1]已收藏
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int IsStar {
      get { return isStar_; }
      set {
        isStar_ = value;
      }
    }

    /// <summary>Field number for the "stars" field.</summary>
    public const int StarsFieldNumber = 3;
    private int stars_;
    /// <summary>
    ///当前收藏计数
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int Stars {
      get { return stars_; }
      set {
        stars_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Game_Mark_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Game_Mark_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      if (IsStar != other.IsStar) return false;
      if (Stars != other.Stars) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (IsStar != 0) hash ^= IsStar.GetHashCode();
      if (Stars != 0) hash ^= Stars.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (IsStar != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(IsStar);
      }
      if (Stars != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Stars);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (IsStar != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(IsStar);
      }
      if (Stars != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Stars);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (IsStar != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(IsStar);
      }
      if (Stars != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stars);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Game_Mark_RESP other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      if (other.IsStar != 0) {
        IsStar = other.IsStar;
      }
      if (other.Stars != 0) {
        Stars = other.Stars;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            IsStar = input.ReadInt32();
            break;
          }
          case 24: {
            Stars = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            IsStar = input.ReadInt32();
            break;
          }
          case 24: {
            Stars = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Mine_GetGameSavList : pb::IMessage<Protobuf_Mine_GetGameSavList>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Mine_GetGameSavList> _parser = new pb::MessageParser<Protobuf_Mine_GetGameSavList>(() => new Protobuf_Mine_GetGameSavList());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Mine_GetGameSavList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[43]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GetGameSavList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GetGameSavList(Protobuf_Mine_GetGameSavList other) : this() {
      romID_ = other.romID_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GetGameSavList Clone() {
      return new Protobuf_Mine_GetGameSavList(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Mine_GetGameSavList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Mine_GetGameSavList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Mine_GetGameSavList other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Mine_GetGameSavList_RESP : pb::IMessage<Protobuf_Mine_GetGameSavList_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Mine_GetGameSavList_RESP> _parser = new pb::MessageParser<Protobuf_Mine_GetGameSavList_RESP>(() => new Protobuf_Mine_GetGameSavList_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Mine_GetGameSavList_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[44]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GetGameSavList_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GetGameSavList_RESP(Protobuf_Mine_GetGameSavList_RESP other) : this() {
      romID_ = other.romID_;
      savDataList_ = other.savDataList_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GetGameSavList_RESP Clone() {
      return new Protobuf_Mine_GetGameSavList_RESP(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "SavDataList" field.</summary>
    public const int SavDataListFieldNumber = 2;
    private static readonly pb::FieldCodec<global::AxibugProtobuf.Protobuf_Mine_GameSavInfo> _repeated_savDataList_codec
        = pb::FieldCodec.ForMessage(18, global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser);
    private readonly pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Mine_GameSavInfo> savDataList_ = new pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Mine_GameSavInfo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::AxibugProtobuf.Protobuf_Mine_GameSavInfo> SavDataList {
      get { return savDataList_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Mine_GetGameSavList_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Mine_GetGameSavList_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      if(!savDataList_.Equals(other.savDataList_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      hash ^= savDataList_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      savDataList_.WriteTo(output, _repeated_savDataList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      savDataList_.WriteTo(ref output, _repeated_savDataList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      size += savDataList_.CalculateSize(_repeated_savDataList_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Mine_GetGameSavList_RESP other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      savDataList_.Add(other.savDataList_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 18: {
            savDataList_.AddEntriesFrom(input, _repeated_savDataList_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 18: {
            savDataList_.AddEntriesFrom(ref input, _repeated_savDataList_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Mine_GameSavInfo : pb::IMessage<Protobuf_Mine_GameSavInfo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Mine_GameSavInfo> _parser = new pb::MessageParser<Protobuf_Mine_GameSavInfo>(() => new Protobuf_Mine_GameSavInfo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Mine_GameSavInfo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[45]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GameSavInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GameSavInfo(Protobuf_Mine_GameSavInfo other) : this() {
      bHadSaveData_ = other.bHadSaveData_;
      savDataIdx_ = other.savDataIdx_;
      romID_ = other.romID_;
      gamePlatformType_ = other.gamePlatformType_;
      savDate_ = other.savDate_;
      savName_ = other.savName_;
      note_ = other.note_;
      savImgUrl_ = other.savImgUrl_;
      savUrl_ = other.savUrl_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_GameSavInfo Clone() {
      return new Protobuf_Mine_GameSavInfo(this);
    }

    /// <summary>Field number for the "bHadSaveData" field.</summary>
    public const int BHadSaveDataFieldNumber = 1;
    private bool bHadSaveData_;
    /// <summary>
    ///是否有存档
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool BHadSaveData {
      get { return bHadSaveData_; }
      set {
        bHadSaveData_ = value;
      }
    }

    /// <summary>Field number for the "SavDataIdx" field.</summary>
    public const int SavDataIdxFieldNumber = 2;
    private int savDataIdx_;
    /// <summary>
    ///即时存档下标(其中第0个是自动存档位置)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int SavDataIdx {
      get { return savDataIdx_; }
      set {
        savDataIdx_ = value;
      }
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 3;
    private int romID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "GamePlatformType" field.</summary>
    public const int GamePlatformTypeFieldNumber = 4;
    private global::AxibugProtobuf.RomPlatformType gamePlatformType_ = global::AxibugProtobuf.RomPlatformType.Invalid;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.RomPlatformType GamePlatformType {
      get { return gamePlatformType_; }
      set {
        gamePlatformType_ = value;
      }
    }

    /// <summary>Field number for the "SavDate" field.</summary>
    public const int SavDateFieldNumber = 5;
    private string savDate_ = "";
    /// <summary>
    ///存档时间
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SavDate {
      get { return savDate_; }
      set {
        savDate_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SavName" field.</summary>
    public const int SavNameFieldNumber = 6;
    private string savName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SavName {
      get { return savName_; }
      set {
        savName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Note" field.</summary>
    public const int NoteFieldNumber = 7;
    private string note_ = "";
    /// <summary>
    ///备注
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Note {
      get { return note_; }
      set {
        note_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SavImgUrl" field.</summary>
    public const int SavImgUrlFieldNumber = 8;
    private string savImgUrl_ = "";
    /// <summary>
    ///即时存档截图Url
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SavImgUrl {
      get { return savImgUrl_; }
      set {
        savImgUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SavUrl" field.</summary>
    public const int SavUrlFieldNumber = 9;
    private string savUrl_ = "";
    /// <summary>
    ///即时存档下载Url
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string SavUrl {
      get { return savUrl_; }
      set {
        savUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Mine_GameSavInfo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Mine_GameSavInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (BHadSaveData != other.BHadSaveData) return false;
      if (SavDataIdx != other.SavDataIdx) return false;
      if (RomID != other.RomID) return false;
      if (GamePlatformType != other.GamePlatformType) return false;
      if (SavDate != other.SavDate) return false;
      if (SavName != other.SavName) return false;
      if (Note != other.Note) return false;
      if (SavImgUrl != other.SavImgUrl) return false;
      if (SavUrl != other.SavUrl) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (BHadSaveData != false) hash ^= BHadSaveData.GetHashCode();
      if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode();
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) hash ^= GamePlatformType.GetHashCode();
      if (SavDate.Length != 0) hash ^= SavDate.GetHashCode();
      if (SavName.Length != 0) hash ^= SavName.GetHashCode();
      if (Note.Length != 0) hash ^= Note.GetHashCode();
      if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
      if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (BHadSaveData != false) {
        output.WriteRawTag(8);
        output.WriteBool(BHadSaveData);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (RomID != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RomID);
      }
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        output.WriteRawTag(32);
        output.WriteEnum((int) GamePlatformType);
      }
      if (SavDate.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SavDate);
      }
      if (SavName.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(SavName);
      }
      if (Note.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Note);
      }
      if (SavImgUrl.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(SavImgUrl);
      }
      if (SavUrl.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(SavUrl);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (BHadSaveData != false) {
        output.WriteRawTag(8);
        output.WriteBool(BHadSaveData);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (RomID != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RomID);
      }
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        output.WriteRawTag(32);
        output.WriteEnum((int) GamePlatformType);
      }
      if (SavDate.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SavDate);
      }
      if (SavName.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(SavName);
      }
      if (Note.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Note);
      }
      if (SavImgUrl.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(SavImgUrl);
      }
      if (SavUrl.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(SavUrl);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (BHadSaveData != false) {
        size += 1 + 1;
      }
      if (SavDataIdx != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx);
      }
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) GamePlatformType);
      }
      if (SavDate.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SavDate);
      }
      if (SavName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SavName);
      }
      if (Note.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Note);
      }
      if (SavImgUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SavImgUrl);
      }
      if (SavUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Mine_GameSavInfo other) {
      if (other == null) {
        return;
      }
      if (other.BHadSaveData != false) {
        BHadSaveData = other.BHadSaveData;
      }
      if (other.SavDataIdx != 0) {
        SavDataIdx = other.SavDataIdx;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      if (other.GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) {
        GamePlatformType = other.GamePlatformType;
      }
      if (other.SavDate.Length != 0) {
        SavDate = other.SavDate;
      }
      if (other.SavName.Length != 0) {
        SavName = other.SavName;
      }
      if (other.Note.Length != 0) {
        Note = other.Note;
      }
      if (other.SavImgUrl.Length != 0) {
        SavImgUrl = other.SavImgUrl;
      }
      if (other.SavUrl.Length != 0) {
        SavUrl = other.SavUrl;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            BHadSaveData = input.ReadBool();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
          case 24: {
            RomID = input.ReadInt32();
            break;
          }
          case 32: {
            GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum();
            break;
          }
          case 42: {
            SavDate = input.ReadString();
            break;
          }
          case 50: {
            SavName = input.ReadString();
            break;
          }
          case 58: {
            Note = input.ReadString();
            break;
          }
          case 66: {
            SavImgUrl = input.ReadString();
            break;
          }
          case 74: {
            SavUrl = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            BHadSaveData = input.ReadBool();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
          case 24: {
            RomID = input.ReadInt32();
            break;
          }
          case 32: {
            GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum();
            break;
          }
          case 42: {
            SavDate = input.ReadString();
            break;
          }
          case 50: {
            SavName = input.ReadString();
            break;
          }
          case 58: {
            Note = input.ReadString();
            break;
          }
          case 66: {
            SavImgUrl = input.ReadString();
            break;
          }
          case 74: {
            SavUrl = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Mine_DelGameSav : pb::IMessage<Protobuf_Mine_DelGameSav>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Mine_DelGameSav> _parser = new pb::MessageParser<Protobuf_Mine_DelGameSav>(() => new Protobuf_Mine_DelGameSav());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Mine_DelGameSav> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[46]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_DelGameSav() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_DelGameSav(Protobuf_Mine_DelGameSav other) : this() {
      romID_ = other.romID_;
      savDataIdx_ = other.savDataIdx_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_DelGameSav Clone() {
      return new Protobuf_Mine_DelGameSav(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    /// <summary>
    ///RomID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "SavDataIdx" field.</summary>
    public const int SavDataIdxFieldNumber = 2;
    private int savDataIdx_;
    /// <summary>
    ///即时存档下标(其中第0个是自动存档位置)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int SavDataIdx {
      get { return savDataIdx_; }
      set {
        savDataIdx_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Mine_DelGameSav);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Mine_DelGameSav other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      if (SavDataIdx != other.SavDataIdx) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (SavDataIdx != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Mine_DelGameSav other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      if (other.SavDataIdx != 0) {
        SavDataIdx = other.SavDataIdx;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Mine_DelGameSav_RESP : pb::IMessage<Protobuf_Mine_DelGameSav_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Mine_DelGameSav_RESP> _parser = new pb::MessageParser<Protobuf_Mine_DelGameSav_RESP>(() => new Protobuf_Mine_DelGameSav_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Mine_DelGameSav_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[47]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_DelGameSav_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_DelGameSav_RESP(Protobuf_Mine_DelGameSav_RESP other) : this() {
      romID_ = other.romID_;
      savDataIdx_ = other.savDataIdx_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_DelGameSav_RESP Clone() {
      return new Protobuf_Mine_DelGameSav_RESP(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    /// <summary>
    ///RomID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "SavDataIdx" field.</summary>
    public const int SavDataIdxFieldNumber = 2;
    private int savDataIdx_;
    /// <summary>
    ///删除的即时存档下标
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int SavDataIdx {
      get { return savDataIdx_; }
      set {
        savDataIdx_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Mine_DelGameSav_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Mine_DelGameSav_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      if (SavDataIdx != other.SavDataIdx) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (SavDataIdx != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Mine_DelGameSav_RESP other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      if (other.SavDataIdx != 0) {
        SavDataIdx = other.SavDataIdx;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Mine_UpLoadGameSav : pb::IMessage<Protobuf_Mine_UpLoadGameSav>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Mine_UpLoadGameSav> _parser = new pb::MessageParser<Protobuf_Mine_UpLoadGameSav>(() => new Protobuf_Mine_UpLoadGameSav());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Mine_UpLoadGameSav> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[48]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_UpLoadGameSav() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_UpLoadGameSav(Protobuf_Mine_UpLoadGameSav other) : this() {
      romID_ = other.romID_;
      savDataIdx_ = other.savDataIdx_;
      savImg_ = other.savImg_;
      stateRaw_ = other.stateRaw_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_UpLoadGameSav Clone() {
      return new Protobuf_Mine_UpLoadGameSav(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    /// <summary>
    ///RomID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "SavDataIdx" field.</summary>
    public const int SavDataIdxFieldNumber = 2;
    private int savDataIdx_;
    /// <summary>
    ///即时存档下标(其中第0个是自动存档位置)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int SavDataIdx {
      get { return savDataIdx_; }
      set {
        savDataIdx_ = value;
      }
    }

    /// <summary>Field number for the "SavImg" field.</summary>
    public const int SavImgFieldNumber = 3;
    private pb::ByteString savImg_ = pb::ByteString.Empty;
    /// <summary>
    ///即时存档截图模拟器原生数据
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString SavImg {
      get { return savImg_; }
      set {
        savImg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "StateRaw" field.</summary>
    public const int StateRawFieldNumber = 4;
    private pb::ByteString stateRaw_ = pb::ByteString.Empty;
    /// <summary>
    ///即时存档byte数据
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pb::ByteString StateRaw {
      get { return stateRaw_; }
      set {
        stateRaw_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Mine_UpLoadGameSav);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Mine_UpLoadGameSav other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      if (SavDataIdx != other.SavDataIdx) return false;
      if (SavImg != other.SavImg) return false;
      if (StateRaw != other.StateRaw) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode();
      if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
      if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (SavImg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteBytes(SavImg);
      }
      if (StateRaw.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(StateRaw);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (SavDataIdx != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SavDataIdx);
      }
      if (SavImg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteBytes(SavImg);
      }
      if (StateRaw.Length != 0) {
        output.WriteRawTag(34);
        output.WriteBytes(StateRaw);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (SavDataIdx != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx);
      }
      if (SavImg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg);
      }
      if (StateRaw.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Mine_UpLoadGameSav other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      if (other.SavDataIdx != 0) {
        SavDataIdx = other.SavDataIdx;
      }
      if (other.SavImg.Length != 0) {
        SavImg = other.SavImg;
      }
      if (other.StateRaw.Length != 0) {
        StateRaw = other.StateRaw;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
          case 26: {
            SavImg = input.ReadBytes();
            break;
          }
          case 34: {
            StateRaw = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 16: {
            SavDataIdx = input.ReadInt32();
            break;
          }
          case 26: {
            SavImg = input.ReadBytes();
            break;
          }
          case 34: {
            StateRaw = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Protobuf_Mine_UpLoadGameSav_RESP : pb::IMessage<Protobuf_Mine_UpLoadGameSav_RESP>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Protobuf_Mine_UpLoadGameSav_RESP> _parser = new pb::MessageParser<Protobuf_Mine_UpLoadGameSav_RESP>(() => new Protobuf_Mine_UpLoadGameSav_RESP());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Protobuf_Mine_UpLoadGameSav_RESP> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[49]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_UpLoadGameSav_RESP() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_UpLoadGameSav_RESP(Protobuf_Mine_UpLoadGameSav_RESP other) : this() {
      romID_ = other.romID_;
      uploadSevInfo_ = other.uploadSevInfo_ != null ? other.uploadSevInfo_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Protobuf_Mine_UpLoadGameSav_RESP Clone() {
      return new Protobuf_Mine_UpLoadGameSav_RESP(this);
    }

    /// <summary>Field number for the "RomID" field.</summary>
    public const int RomIDFieldNumber = 1;
    private int romID_;
    /// <summary>
    ///RomID
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int RomID {
      get { return romID_; }
      set {
        romID_ = value;
      }
    }

    /// <summary>Field number for the "UploadSevInfo" field.</summary>
    public const int UploadSevInfoFieldNumber = 2;
    private global::AxibugProtobuf.Protobuf_Mine_GameSavInfo uploadSevInfo_;
    /// <summary>
    ///上传成功的存档详情
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::AxibugProtobuf.Protobuf_Mine_GameSavInfo UploadSevInfo {
      get { return uploadSevInfo_; }
      set {
        uploadSevInfo_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Protobuf_Mine_UpLoadGameSav_RESP);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Protobuf_Mine_UpLoadGameSav_RESP other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RomID != other.RomID) return false;
      if (!object.Equals(UploadSevInfo, other.UploadSevInfo)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (RomID != 0) hash ^= RomID.GetHashCode();
      if (uploadSevInfo_ != null) hash ^= UploadSevInfo.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (uploadSevInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(UploadSevInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (RomID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RomID);
      }
      if (uploadSevInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(UploadSevInfo);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (RomID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
      }
      if (uploadSevInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UploadSevInfo);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Protobuf_Mine_UpLoadGameSav_RESP other) {
      if (other == null) {
        return;
      }
      if (other.RomID != 0) {
        RomID = other.RomID;
      }
      if (other.uploadSevInfo_ != null) {
        if (uploadSevInfo_ == null) {
          UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo();
        }
        UploadSevInfo.MergeFrom(other.UploadSevInfo);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 18: {
            if (uploadSevInfo_ == null) {
              UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo();
            }
            input.ReadMessage(UploadSevInfo);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RomID = input.ReadInt32();
            break;
          }
          case 18: {
            if (uploadSevInfo_ == null) {
              UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo();
            }
            input.ReadMessage(UploadSevInfo);
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code