// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: pb/chat.proto
#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 Chat {

  /// <summary>Holder for reflection information generated from pb/chat.proto</summary>
  public static partial class ChatReflection {

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

    static ChatReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Cg1wYi9jaGF0LnByb3RvEgRDaGF0IjkKDENTX0NoYXRMb2dpbhIOCgZab25l",
            "aWQYASABKAUSCwoDVWlkGAIgASgJEgwKBE5hbWUYAyABKAkiVwoOQ1NfQ2hh",
            "dFNlbmRNc2cSJAoJVG9DaGFubmVsGAEgASgOMhEuQ2hhdC5DaGF0Q2hhbm5l",
            "bBILCgNNc2cYAiABKAkSEgoKVG9OaWNrTmFtZRgDIAEoCSKCAQoMU0NfQ2hh",
            "dExvZ2luEioKBGNvZGUYASABKA4yHC5DaGF0LlNDX0NoYXRMb2dpbi5FcnJv",
            "ckNvZGUiRgoJRXJyb3JDb2RlEgYKAk9LEAASEAoMQWNjSURJbnZhbGlkEAES",
            "DwoLTG9naW5SZXBlYXQQAhIOCgpJbm5lckVycm9yEAMiawoNU0NfQ2hhdE5l",
            "d01zZxImCgtGcm9tQ2hhbm5lbBgBIAEoDjIRLkNoYXQuQ2hhdENoYW5uZWwS",
            "CwoDTXNnGAIgASgJEhIKClNlbmRlck5hbWUYAyABKAkSEQoJU2VuZGVyVWlk",
            "GAQgASgJKjsKC0NoYXRDaGFubmVsEgoKBlN5c3RlbRAAEgkKBVdvcmxkEAES",
            "CQoFR3VpbGQQAhIKCgZTaW5nbGUQA2IGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Chat.ChatChannel), }, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Chat.CS_ChatLogin), global::Chat.CS_ChatLogin.Parser, new[]{ "Zoneid", "Uid", "Name" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Chat.CS_ChatSendMsg), global::Chat.CS_ChatSendMsg.Parser, new[]{ "ToChannel", "Msg", "ToNickName" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Chat.SC_ChatLogin), global::Chat.SC_ChatLogin.Parser, new[]{ "Code" }, null, new[]{ typeof(global::Chat.SC_ChatLogin.Types.ErrorCode) }, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Chat.SC_ChatNewMsg), global::Chat.SC_ChatNewMsg.Parser, new[]{ "FromChannel", "Msg", "SenderName", "SenderUid" }, null, null, null)
          }));
    }
    #endregion

  }
  #region Enums
  /// <summary>
  /// 频道
  /// </summary>
  public enum ChatChannel {
    /// <summary>
    /// 系统频道
    /// </summary>
    [pbr::OriginalName("System")] System = 0,
    /// <summary>
    /// 世界频道
    /// </summary>
    [pbr::OriginalName("World")] World = 1,
    /// <summary>
    /// 公会频道
    /// </summary>
    [pbr::OriginalName("Guild")] Guild = 2,
    /// <summary>
    /// 密语(单独发送给某人)
    /// </summary>
    [pbr::OriginalName("Single")] Single = 3,
  }

  #endregion

  #region Messages
  /// <summary>
  /// 聊天, 登录
  /// </summary>
  public sealed partial class CS_ChatLogin : pb::IMessage<CS_ChatLogin> {
    private static readonly pb::MessageParser<CS_ChatLogin> _parser = new pb::MessageParser<CS_ChatLogin>(() => new CS_ChatLogin());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_ChatLogin> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_ChatLogin(CS_ChatLogin other) : this() {
      zoneid_ = other.zoneid_;
      uid_ = other.uid_;
      name_ = other.name_;
    }

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_ChatLogin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Zoneid != other.Zoneid) return false;
      if (Uid != other.Uid) return false;
      if (Name != other.Name) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Zoneid != 0) hash ^= Zoneid.GetHashCode();
      if (Uid.Length != 0) hash ^= Uid.GetHashCode();
      if (Name.Length != 0) hash ^= Name.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 (Zoneid != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Zoneid);
      }
      if (Uid.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Uid);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_ChatLogin other) {
      if (other == null) {
        return;
      }
      if (other.Zoneid != 0) {
        Zoneid = other.Zoneid;
      }
      if (other.Uid.Length != 0) {
        Uid = other.Uid;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            Zoneid = input.ReadInt32();
            break;
          }
          case 18: {
            Uid = input.ReadString();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 聊天, 发送消息
  /// </summary>
  public sealed partial class CS_ChatSendMsg : pb::IMessage<CS_ChatSendMsg> {
    private static readonly pb::MessageParser<CS_ChatSendMsg> _parser = new pb::MessageParser<CS_ChatSendMsg>(() => new CS_ChatSendMsg());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<CS_ChatSendMsg> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public CS_ChatSendMsg(CS_ChatSendMsg other) : this() {
      toChannel_ = other.toChannel_;
      msg_ = other.msg_;
      toNickName_ = other.toNickName_;
    }

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

    /// <summary>Field number for the "ToChannel" field.</summary>
    public const int ToChannelFieldNumber = 1;
    private global::Chat.ChatChannel toChannel_ = 0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Chat.ChatChannel ToChannel {
      get { return toChannel_; }
      set {
        toChannel_ = value;
      }
    }

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(CS_ChatSendMsg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ToChannel != other.ToChannel) return false;
      if (Msg != other.Msg) return false;
      if (ToNickName != other.ToNickName) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (ToChannel != 0) hash ^= ToChannel.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      if (ToNickName.Length != 0) hash ^= ToNickName.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 (ToChannel != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) ToChannel);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Msg);
      }
      if (ToNickName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ToNickName);
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(CS_ChatSendMsg other) {
      if (other == null) {
        return;
      }
      if (other.ToChannel != 0) {
        ToChannel = other.ToChannel;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
      if (other.ToNickName.Length != 0) {
        ToNickName = other.ToNickName;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            toChannel_ = (global::Chat.ChatChannel) input.ReadEnum();
            break;
          }
          case 18: {
            Msg = input.ReadString();
            break;
          }
          case 26: {
            ToNickName = input.ReadString();
            break;
          }
        }
      }
    }

  }

  /// <summary>
  /// 聊天, 初始化返回值
  /// </summary>
  public sealed partial class SC_ChatLogin : pb::IMessage<SC_ChatLogin> {
    private static readonly pb::MessageParser<SC_ChatLogin> _parser = new pb::MessageParser<SC_ChatLogin>(() => new SC_ChatLogin());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_ChatLogin> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_ChatLogin(SC_ChatLogin other) : this() {
      code_ = other.code_;
    }

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

    /// <summary>Field number for the "code" field.</summary>
    public const int CodeFieldNumber = 1;
    private global::Chat.SC_ChatLogin.Types.ErrorCode code_ = 0;
    /// <summary>
    /// 错误码
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Chat.SC_ChatLogin.Types.ErrorCode Code {
      get { return code_; }
      set {
        code_ = value;
      }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (Code != 0) hash ^= Code.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 (Code != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) Code);
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_ChatLogin other) {
      if (other == null) {
        return;
      }
      if (other.Code != 0) {
        Code = other.Code;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            code_ = (global::Chat.SC_ChatLogin.Types.ErrorCode) input.ReadEnum();
            break;
          }
        }
      }
    }

    #region Nested types
    /// <summary>Container for nested types declared in the SC_ChatLogin message type.</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static partial class Types {
      /// <summary>
      /// 错误码
      /// </summary>
      public enum ErrorCode {
        /// <summary>
        /// 成功
        /// </summary>
        [pbr::OriginalName("OK")] Ok = 0,
        /// <summary>
        /// 未知的UID
        /// </summary>
        [pbr::OriginalName("AccIDInvalid")] AccIdinvalid = 1,
        /// <summary>
        /// 重复登入
        /// </summary>
        [pbr::OriginalName("LoginRepeat")] LoginRepeat = 2,
        /// <summary>
        /// 内部错误
        /// </summary>
        [pbr::OriginalName("InnerError")] InnerError = 3,
      }

    }
    #endregion

  }

  /// <summary>
  /// 聊天, 新的消息
  /// </summary>
  public sealed partial class SC_ChatNewMsg : pb::IMessage<SC_ChatNewMsg> {
    private static readonly pb::MessageParser<SC_ChatNewMsg> _parser = new pb::MessageParser<SC_ChatNewMsg>(() => new SC_ChatNewMsg());
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<SC_ChatNewMsg> Parser { get { return _parser; } }

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public SC_ChatNewMsg(SC_ChatNewMsg other) : this() {
      fromChannel_ = other.fromChannel_;
      msg_ = other.msg_;
      senderName_ = other.senderName_;
      senderUid_ = other.senderUid_;
    }

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

    /// <summary>Field number for the "FromChannel" field.</summary>
    public const int FromChannelFieldNumber = 1;
    private global::Chat.ChatChannel fromChannel_ = 0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Chat.ChatChannel FromChannel {
      get { return fromChannel_; }
      set {
        fromChannel_ = value;
      }
    }

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(SC_ChatNewMsg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (FromChannel != other.FromChannel) return false;
      if (Msg != other.Msg) return false;
      if (SenderName != other.SenderName) return false;
      if (SenderUid != other.SenderUid) return false;
      return true;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (FromChannel != 0) hash ^= FromChannel.GetHashCode();
      if (Msg.Length != 0) hash ^= Msg.GetHashCode();
      if (SenderName.Length != 0) hash ^= SenderName.GetHashCode();
      if (SenderUid.Length != 0) hash ^= SenderUid.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 (FromChannel != 0) {
        output.WriteRawTag(8);
        output.WriteEnum((int) FromChannel);
      }
      if (Msg.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Msg);
      }
      if (SenderName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(SenderName);
      }
      if (SenderUid.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(SenderUid);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (FromChannel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) FromChannel);
      }
      if (Msg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Msg);
      }
      if (SenderName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderName);
      }
      if (SenderUid.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SenderUid);
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(SC_ChatNewMsg other) {
      if (other == null) {
        return;
      }
      if (other.FromChannel != 0) {
        FromChannel = other.FromChannel;
      }
      if (other.Msg.Length != 0) {
        Msg = other.Msg;
      }
      if (other.SenderName.Length != 0) {
        SenderName = other.SenderName;
      }
      if (other.SenderUid.Length != 0) {
        SenderUid = other.SenderUid;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            input.SkipLastField();
            break;
          case 8: {
            fromChannel_ = (global::Chat.ChatChannel) input.ReadEnum();
            break;
          }
          case 18: {
            Msg = input.ReadString();
            break;
          }
          case 26: {
            SenderName = input.ReadString();
            break;
          }
          case 34: {
            SenderUid = input.ReadString();
            break;
          }
        }
      }
    }

  }

  #endregion

}

#endregion Designer generated code
