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

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

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

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

    static StarTowerInteractReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChlzdGFyX3Rvd2VyX2ludGVyYWN0LnByb3RvEgVwcm90bxoMcHVibGljLnBy",
            "b3RvGhdwdWJsaWNfc3Rhcl90b3dlci5wcm90byK5AgoUU3RhclRvd2VySW50",
            "ZXJhY3RSZXESCgoCSWQYASABKA0SFAoLTmV4dFBhY2thZ2UY/w8gASgMEisK",
            "CEVudGVyUmVxGAIgASgLMhcucHJvdG8uSW50ZXJhY3RFbnRlclJlcUgAEjMK",
            "DEJhdHRsZUVuZFJlcRgDIAEoCzIbLnByb3RvLkludGVyYWN0QmF0dGxlRW5k",
            "UmVxSAASLQoJU2VsZWN0UmVxGAQgASgLMhgucHJvdG8uSW50ZXJhY3RTZWxl",
            "Y3RSZXFIABI1Cg1SZWNvdmVyeUhQUmVxGAUgASgLMhwucHJvdG8uSW50ZXJh",
            "Y3RSZWNvdmVyeUhQUmVxSAASLQoJSGF3a2VyUmVxGAYgASgLMhgucHJvdG8u",
            "SW50ZXJhY3RIYXdrZXJSZXFIAEIICgZBY3Rpb24i2wMKFVN0YXJUb3dlcklu",
            "dGVyYWN0UmVzcBIKCgJJZBgBIAEoDRInCgVDYXNlcxgCIAMoCzIYLnByb3Rv",
            "LlN0YXJUb3dlclJvb21DYXNlEiEKBkNoYW5nZRgDIAEoCzIRLnByb3RvLkNo",
            "YW5nZUluZm8SJAoERGF0YRgEIAEoCzIWLnByb3RvLlRvd2VyQ2hhbmdlRGF0",
            "YRIUCgtOZXh0UGFja2FnZRj/DyABKAwSLQoJRW50ZXJSZXNwGAcgASgLMhgu",
            "cHJvdG8uSW50ZXJhY3RFbnRlclJlc3BIABI1Cg1CYXR0bGVFbmRSZXNwGAgg",
            "ASgLMhwucHJvdG8uSW50ZXJhY3RCYXR0bGVFbmRSZXNwSAASLwoKU2VsZWN0",
            "UmVzcBgJIAEoCzIZLnByb3RvLkludGVyYWN0U2VsZWN0UmVzcEgAEkUKFVN0",
            "cmVuZ3RoZW5NYWNoaW5lUmVzcBgKIAEoCzIkLnByb3RvLkludGVyYWN0U3Ry",
            "ZW5ndGhlbk1hY2hpbmVSZXNwSAASJwoGU2V0dGxlGA4gASgLMhUucHJvdG8u",
            "U2V0dGxlRGF0YVJlc3BIABIdCgdOaWxSZXNwGA8gASgLMgoucHJvdG8uTmls",
            "SABCCAoGQWN0aW9uUABiBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Proto.PublicReflection.Descriptor, global::Proto.PublicStarTowerReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.StarTowerInteractReq), global::Proto.StarTowerInteractReq.Parser, new[]{ "Id", "NextPackage", "EnterReq", "BattleEndReq", "SelectReq", "RecoveryHPReq", "HawkerReq" }, new[]{ "Action" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Proto.StarTowerInteractResp), global::Proto.StarTowerInteractResp.Parser, new[]{ "Id", "Cases", "Change", "Data", "NextPackage", "EnterResp", "BattleEndResp", "SelectResp", "StrengthenMachineResp", "Settle", "NilResp" }, new[]{ "Action" }, null, null, null)
          }));
    }
    #endregion

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerInteractReq(StarTowerInteractReq other) : this() {
      id_ = other.id_;
      nextPackage_ = other.nextPackage_;
      switch (other.ActionCase) {
        case ActionOneofCase.EnterReq:
          EnterReq = other.EnterReq.Clone();
          break;
        case ActionOneofCase.BattleEndReq:
          BattleEndReq = other.BattleEndReq.Clone();
          break;
        case ActionOneofCase.SelectReq:
          SelectReq = other.SelectReq.Clone();
          break;
        case ActionOneofCase.RecoveryHPReq:
          RecoveryHPReq = other.RecoveryHPReq.Clone();
          break;
        case ActionOneofCase.HawkerReq:
          HawkerReq = other.HawkerReq.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

    /// <summary>Field number for the "EnterReq" field.</summary>
    public const int EnterReqFieldNumber = 2;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractEnterReq EnterReq {
      get { return actionCase_ == ActionOneofCase.EnterReq ? (global::Proto.InteractEnterReq) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.EnterReq;
      }
    }

    /// <summary>Field number for the "BattleEndReq" field.</summary>
    public const int BattleEndReqFieldNumber = 3;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractBattleEndReq BattleEndReq {
      get { return actionCase_ == ActionOneofCase.BattleEndReq ? (global::Proto.InteractBattleEndReq) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.BattleEndReq;
      }
    }

    /// <summary>Field number for the "SelectReq" field.</summary>
    public const int SelectReqFieldNumber = 4;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractSelectReq SelectReq {
      get { return actionCase_ == ActionOneofCase.SelectReq ? (global::Proto.InteractSelectReq) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.SelectReq;
      }
    }

    /// <summary>Field number for the "RecoveryHPReq" field.</summary>
    public const int RecoveryHPReqFieldNumber = 5;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractRecoveryHPReq RecoveryHPReq {
      get { return actionCase_ == ActionOneofCase.RecoveryHPReq ? (global::Proto.InteractRecoveryHPReq) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.RecoveryHPReq;
      }
    }

    /// <summary>Field number for the "HawkerReq" field.</summary>
    public const int HawkerReqFieldNumber = 6;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractHawkerReq HawkerReq {
      get { return actionCase_ == ActionOneofCase.HawkerReq ? (global::Proto.InteractHawkerReq) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.HawkerReq;
      }
    }

    private object action_;
    /// <summary>Enum of possible cases for the "Action" oneof.</summary>
    public enum ActionOneofCase {
      None = 0,
      EnterReq = 2,
      BattleEndReq = 3,
      SelectReq = 4,
      RecoveryHPReq = 5,
      HawkerReq = 6,
    }
    private ActionOneofCase actionCase_ = ActionOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActionOneofCase ActionCase {
      get { return actionCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearAction() {
      actionCase_ = ActionOneofCase.None;
      action_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerInteractReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (NextPackage != other.NextPackage) return false;
      if (!object.Equals(EnterReq, other.EnterReq)) return false;
      if (!object.Equals(BattleEndReq, other.BattleEndReq)) return false;
      if (!object.Equals(SelectReq, other.SelectReq)) return false;
      if (!object.Equals(RecoveryHPReq, other.RecoveryHPReq)) return false;
      if (!object.Equals(HawkerReq, other.HawkerReq)) return false;
      if (ActionCase != other.ActionCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (actionCase_ == ActionOneofCase.EnterReq) hash ^= EnterReq.GetHashCode();
      if (actionCase_ == ActionOneofCase.BattleEndReq) hash ^= BattleEndReq.GetHashCode();
      if (actionCase_ == ActionOneofCase.SelectReq) hash ^= SelectReq.GetHashCode();
      if (actionCase_ == ActionOneofCase.RecoveryHPReq) hash ^= RecoveryHPReq.GetHashCode();
      if (actionCase_ == ActionOneofCase.HawkerReq) hash ^= HawkerReq.GetHashCode();
      hash ^= (int) actionCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Id);
      }
      if (actionCase_ == ActionOneofCase.EnterReq) {
        output.WriteRawTag(18);
        output.WriteMessage(EnterReq);
      }
      if (actionCase_ == ActionOneofCase.BattleEndReq) {
        output.WriteRawTag(26);
        output.WriteMessage(BattleEndReq);
      }
      if (actionCase_ == ActionOneofCase.SelectReq) {
        output.WriteRawTag(34);
        output.WriteMessage(SelectReq);
      }
      if (actionCase_ == ActionOneofCase.RecoveryHPReq) {
        output.WriteRawTag(42);
        output.WriteMessage(RecoveryHPReq);
      }
      if (actionCase_ == ActionOneofCase.HawkerReq) {
        output.WriteRawTag(50);
        output.WriteMessage(HawkerReq);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Id);
      }
      if (actionCase_ == ActionOneofCase.EnterReq) {
        output.WriteRawTag(18);
        output.WriteMessage(EnterReq);
      }
      if (actionCase_ == ActionOneofCase.BattleEndReq) {
        output.WriteRawTag(26);
        output.WriteMessage(BattleEndReq);
      }
      if (actionCase_ == ActionOneofCase.SelectReq) {
        output.WriteRawTag(34);
        output.WriteMessage(SelectReq);
      }
      if (actionCase_ == ActionOneofCase.RecoveryHPReq) {
        output.WriteRawTag(42);
        output.WriteMessage(RecoveryHPReq);
      }
      if (actionCase_ == ActionOneofCase.HawkerReq) {
        output.WriteRawTag(50);
        output.WriteMessage(HawkerReq);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Id);
      }
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (actionCase_ == ActionOneofCase.EnterReq) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EnterReq);
      }
      if (actionCase_ == ActionOneofCase.BattleEndReq) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleEndReq);
      }
      if (actionCase_ == ActionOneofCase.SelectReq) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SelectReq);
      }
      if (actionCase_ == ActionOneofCase.RecoveryHPReq) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(RecoveryHPReq);
      }
      if (actionCase_ == ActionOneofCase.HawkerReq) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(HawkerReq);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerInteractReq other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      switch (other.ActionCase) {
        case ActionOneofCase.EnterReq:
          if (EnterReq == null) {
            EnterReq = new global::Proto.InteractEnterReq();
          }
          EnterReq.MergeFrom(other.EnterReq);
          break;
        case ActionOneofCase.BattleEndReq:
          if (BattleEndReq == null) {
            BattleEndReq = new global::Proto.InteractBattleEndReq();
          }
          BattleEndReq.MergeFrom(other.BattleEndReq);
          break;
        case ActionOneofCase.SelectReq:
          if (SelectReq == null) {
            SelectReq = new global::Proto.InteractSelectReq();
          }
          SelectReq.MergeFrom(other.SelectReq);
          break;
        case ActionOneofCase.RecoveryHPReq:
          if (RecoveryHPReq == null) {
            RecoveryHPReq = new global::Proto.InteractRecoveryHPReq();
          }
          RecoveryHPReq.MergeFrom(other.RecoveryHPReq);
          break;
        case ActionOneofCase.HawkerReq:
          if (HawkerReq == null) {
            HawkerReq = new global::Proto.InteractHawkerReq();
          }
          HawkerReq.MergeFrom(other.HawkerReq);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 18: {
            global::Proto.InteractEnterReq subBuilder = new global::Proto.InteractEnterReq();
            if (actionCase_ == ActionOneofCase.EnterReq) {
              subBuilder.MergeFrom(EnterReq);
            }
            input.ReadMessage(subBuilder);
            EnterReq = subBuilder;
            break;
          }
          case 26: {
            global::Proto.InteractBattleEndReq subBuilder = new global::Proto.InteractBattleEndReq();
            if (actionCase_ == ActionOneofCase.BattleEndReq) {
              subBuilder.MergeFrom(BattleEndReq);
            }
            input.ReadMessage(subBuilder);
            BattleEndReq = subBuilder;
            break;
          }
          case 34: {
            global::Proto.InteractSelectReq subBuilder = new global::Proto.InteractSelectReq();
            if (actionCase_ == ActionOneofCase.SelectReq) {
              subBuilder.MergeFrom(SelectReq);
            }
            input.ReadMessage(subBuilder);
            SelectReq = subBuilder;
            break;
          }
          case 42: {
            global::Proto.InteractRecoveryHPReq subBuilder = new global::Proto.InteractRecoveryHPReq();
            if (actionCase_ == ActionOneofCase.RecoveryHPReq) {
              subBuilder.MergeFrom(RecoveryHPReq);
            }
            input.ReadMessage(subBuilder);
            RecoveryHPReq = subBuilder;
            break;
          }
          case 50: {
            global::Proto.InteractHawkerReq subBuilder = new global::Proto.InteractHawkerReq();
            if (actionCase_ == ActionOneofCase.HawkerReq) {
              subBuilder.MergeFrom(HawkerReq);
            }
            input.ReadMessage(subBuilder);
            HawkerReq = subBuilder;
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 18: {
            global::Proto.InteractEnterReq subBuilder = new global::Proto.InteractEnterReq();
            if (actionCase_ == ActionOneofCase.EnterReq) {
              subBuilder.MergeFrom(EnterReq);
            }
            input.ReadMessage(subBuilder);
            EnterReq = subBuilder;
            break;
          }
          case 26: {
            global::Proto.InteractBattleEndReq subBuilder = new global::Proto.InteractBattleEndReq();
            if (actionCase_ == ActionOneofCase.BattleEndReq) {
              subBuilder.MergeFrom(BattleEndReq);
            }
            input.ReadMessage(subBuilder);
            BattleEndReq = subBuilder;
            break;
          }
          case 34: {
            global::Proto.InteractSelectReq subBuilder = new global::Proto.InteractSelectReq();
            if (actionCase_ == ActionOneofCase.SelectReq) {
              subBuilder.MergeFrom(SelectReq);
            }
            input.ReadMessage(subBuilder);
            SelectReq = subBuilder;
            break;
          }
          case 42: {
            global::Proto.InteractRecoveryHPReq subBuilder = new global::Proto.InteractRecoveryHPReq();
            if (actionCase_ == ActionOneofCase.RecoveryHPReq) {
              subBuilder.MergeFrom(RecoveryHPReq);
            }
            input.ReadMessage(subBuilder);
            RecoveryHPReq = subBuilder;
            break;
          }
          case 50: {
            global::Proto.InteractHawkerReq subBuilder = new global::Proto.InteractHawkerReq();
            if (actionCase_ == ActionOneofCase.HawkerReq) {
              subBuilder.MergeFrom(HawkerReq);
            }
            input.ReadMessage(subBuilder);
            HawkerReq = subBuilder;
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerInteractResp(StarTowerInteractResp other) : this() {
      id_ = other.id_;
      cases_ = other.cases_.Clone();
      change_ = other.change_ != null ? other.change_.Clone() : null;
      data_ = other.data_ != null ? other.data_.Clone() : null;
      nextPackage_ = other.nextPackage_;
      switch (other.ActionCase) {
        case ActionOneofCase.EnterResp:
          EnterResp = other.EnterResp.Clone();
          break;
        case ActionOneofCase.BattleEndResp:
          BattleEndResp = other.BattleEndResp.Clone();
          break;
        case ActionOneofCase.SelectResp:
          SelectResp = other.SelectResp.Clone();
          break;
        case ActionOneofCase.StrengthenMachineResp:
          StrengthenMachineResp = other.StrengthenMachineResp.Clone();
          break;
        case ActionOneofCase.Settle:
          Settle = other.Settle.Clone();
          break;
        case ActionOneofCase.NilResp:
          NilResp = other.NilResp.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "Cases" field.</summary>
    public const int CasesFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Proto.StarTowerRoomCase> _repeated_cases_codec
        = pb::FieldCodec.ForMessage(18, global::Proto.StarTowerRoomCase.Parser);
    private readonly pbc::RepeatedField<global::Proto.StarTowerRoomCase> cases_ = new pbc::RepeatedField<global::Proto.StarTowerRoomCase>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Proto.StarTowerRoomCase> Cases {
      get { return cases_; }
    }

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

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

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

    /// <summary>Field number for the "EnterResp" field.</summary>
    public const int EnterRespFieldNumber = 7;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractEnterResp EnterResp {
      get { return actionCase_ == ActionOneofCase.EnterResp ? (global::Proto.InteractEnterResp) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.EnterResp;
      }
    }

    /// <summary>Field number for the "BattleEndResp" field.</summary>
    public const int BattleEndRespFieldNumber = 8;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractBattleEndResp BattleEndResp {
      get { return actionCase_ == ActionOneofCase.BattleEndResp ? (global::Proto.InteractBattleEndResp) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.BattleEndResp;
      }
    }

    /// <summary>Field number for the "SelectResp" field.</summary>
    public const int SelectRespFieldNumber = 9;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractSelectResp SelectResp {
      get { return actionCase_ == ActionOneofCase.SelectResp ? (global::Proto.InteractSelectResp) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.SelectResp;
      }
    }

    /// <summary>Field number for the "StrengthenMachineResp" field.</summary>
    public const int StrengthenMachineRespFieldNumber = 10;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.InteractStrengthenMachineResp StrengthenMachineResp {
      get { return actionCase_ == ActionOneofCase.StrengthenMachineResp ? (global::Proto.InteractStrengthenMachineResp) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.StrengthenMachineResp;
      }
    }

    /// <summary>Field number for the "Settle" field.</summary>
    public const int SettleFieldNumber = 14;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.SettleDataResp Settle {
      get { return actionCase_ == ActionOneofCase.Settle ? (global::Proto.SettleDataResp) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.Settle;
      }
    }

    /// <summary>Field number for the "NilResp" field.</summary>
    public const int NilRespFieldNumber = 15;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Proto.Nil NilResp {
      get { return actionCase_ == ActionOneofCase.NilResp ? (global::Proto.Nil) action_ : null; }
      set {
        action_ = value;
        actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.NilResp;
      }
    }

    private object action_;
    /// <summary>Enum of possible cases for the "Action" oneof.</summary>
    public enum ActionOneofCase {
      None = 0,
      EnterResp = 7,
      BattleEndResp = 8,
      SelectResp = 9,
      StrengthenMachineResp = 10,
      Settle = 14,
      NilResp = 15,
    }
    private ActionOneofCase actionCase_ = ActionOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ActionOneofCase ActionCase {
      get { return actionCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearAction() {
      actionCase_ = ActionOneofCase.None;
      action_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerInteractResp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!cases_.Equals(other.cases_)) return false;
      if (!object.Equals(Change, other.Change)) return false;
      if (!object.Equals(Data, other.Data)) return false;
      if (NextPackage != other.NextPackage) return false;
      if (!object.Equals(EnterResp, other.EnterResp)) return false;
      if (!object.Equals(BattleEndResp, other.BattleEndResp)) return false;
      if (!object.Equals(SelectResp, other.SelectResp)) return false;
      if (!object.Equals(StrengthenMachineResp, other.StrengthenMachineResp)) return false;
      if (!object.Equals(Settle, other.Settle)) return false;
      if (!object.Equals(NilResp, other.NilResp)) return false;
      if (ActionCase != other.ActionCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Id != 0) hash ^= Id.GetHashCode();
      hash ^= cases_.GetHashCode();
      if (change_ != null) hash ^= Change.GetHashCode();
      if (data_ != null) hash ^= Data.GetHashCode();
      if (NextPackage.Length != 0) hash ^= NextPackage.GetHashCode();
      if (actionCase_ == ActionOneofCase.EnterResp) hash ^= EnterResp.GetHashCode();
      if (actionCase_ == ActionOneofCase.BattleEndResp) hash ^= BattleEndResp.GetHashCode();
      if (actionCase_ == ActionOneofCase.SelectResp) hash ^= SelectResp.GetHashCode();
      if (actionCase_ == ActionOneofCase.StrengthenMachineResp) hash ^= StrengthenMachineResp.GetHashCode();
      if (actionCase_ == ActionOneofCase.Settle) hash ^= Settle.GetHashCode();
      if (actionCase_ == ActionOneofCase.NilResp) hash ^= NilResp.GetHashCode();
      hash ^= (int) actionCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Id);
      }
      cases_.WriteTo(output, _repeated_cases_codec);
      if (change_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Change);
      }
      if (data_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Data);
      }
      if (actionCase_ == ActionOneofCase.EnterResp) {
        output.WriteRawTag(58);
        output.WriteMessage(EnterResp);
      }
      if (actionCase_ == ActionOneofCase.BattleEndResp) {
        output.WriteRawTag(66);
        output.WriteMessage(BattleEndResp);
      }
      if (actionCase_ == ActionOneofCase.SelectResp) {
        output.WriteRawTag(74);
        output.WriteMessage(SelectResp);
      }
      if (actionCase_ == ActionOneofCase.StrengthenMachineResp) {
        output.WriteRawTag(82);
        output.WriteMessage(StrengthenMachineResp);
      }
      if (actionCase_ == ActionOneofCase.Settle) {
        output.WriteRawTag(114);
        output.WriteMessage(Settle);
      }
      if (actionCase_ == ActionOneofCase.NilResp) {
        output.WriteRawTag(122);
        output.WriteMessage(NilResp);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Id);
      }
      cases_.WriteTo(ref output, _repeated_cases_codec);
      if (change_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Change);
      }
      if (data_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(Data);
      }
      if (actionCase_ == ActionOneofCase.EnterResp) {
        output.WriteRawTag(58);
        output.WriteMessage(EnterResp);
      }
      if (actionCase_ == ActionOneofCase.BattleEndResp) {
        output.WriteRawTag(66);
        output.WriteMessage(BattleEndResp);
      }
      if (actionCase_ == ActionOneofCase.SelectResp) {
        output.WriteRawTag(74);
        output.WriteMessage(SelectResp);
      }
      if (actionCase_ == ActionOneofCase.StrengthenMachineResp) {
        output.WriteRawTag(82);
        output.WriteMessage(StrengthenMachineResp);
      }
      if (actionCase_ == ActionOneofCase.Settle) {
        output.WriteRawTag(114);
        output.WriteMessage(Settle);
      }
      if (actionCase_ == ActionOneofCase.NilResp) {
        output.WriteRawTag(122);
        output.WriteMessage(NilResp);
      }
      if (NextPackage.Length != 0) {
        output.WriteRawTag(250, 127);
        output.WriteBytes(NextPackage);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Id);
      }
      size += cases_.CalculateSize(_repeated_cases_codec);
      if (change_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Change);
      }
      if (data_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Data);
      }
      if (NextPackage.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeBytesSize(NextPackage);
      }
      if (actionCase_ == ActionOneofCase.EnterResp) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EnterResp);
      }
      if (actionCase_ == ActionOneofCase.BattleEndResp) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BattleEndResp);
      }
      if (actionCase_ == ActionOneofCase.SelectResp) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SelectResp);
      }
      if (actionCase_ == ActionOneofCase.StrengthenMachineResp) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(StrengthenMachineResp);
      }
      if (actionCase_ == ActionOneofCase.Settle) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Settle);
      }
      if (actionCase_ == ActionOneofCase.NilResp) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(NilResp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerInteractResp other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      cases_.Add(other.cases_);
      if (other.change_ != null) {
        if (change_ == null) {
          Change = new global::Proto.ChangeInfo();
        }
        Change.MergeFrom(other.Change);
      }
      if (other.data_ != null) {
        if (data_ == null) {
          Data = new global::Proto.TowerChangeData();
        }
        Data.MergeFrom(other.Data);
      }
      if (other.NextPackage.Length != 0) {
        NextPackage = other.NextPackage;
      }
      switch (other.ActionCase) {
        case ActionOneofCase.EnterResp:
          if (EnterResp == null) {
            EnterResp = new global::Proto.InteractEnterResp();
          }
          EnterResp.MergeFrom(other.EnterResp);
          break;
        case ActionOneofCase.BattleEndResp:
          if (BattleEndResp == null) {
            BattleEndResp = new global::Proto.InteractBattleEndResp();
          }
          BattleEndResp.MergeFrom(other.BattleEndResp);
          break;
        case ActionOneofCase.SelectResp:
          if (SelectResp == null) {
            SelectResp = new global::Proto.InteractSelectResp();
          }
          SelectResp.MergeFrom(other.SelectResp);
          break;
        case ActionOneofCase.StrengthenMachineResp:
          if (StrengthenMachineResp == null) {
            StrengthenMachineResp = new global::Proto.InteractStrengthenMachineResp();
          }
          StrengthenMachineResp.MergeFrom(other.StrengthenMachineResp);
          break;
        case ActionOneofCase.Settle:
          if (Settle == null) {
            Settle = new global::Proto.SettleDataResp();
          }
          Settle.MergeFrom(other.Settle);
          break;
        case ActionOneofCase.NilResp:
          if (NilResp == null) {
            NilResp = new global::Proto.Nil();
          }
          NilResp.MergeFrom(other.NilResp);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 18: {
            cases_.AddEntriesFrom(input, _repeated_cases_codec);
            break;
          }
          case 26: {
            if (change_ == null) {
              Change = new global::Proto.ChangeInfo();
            }
            input.ReadMessage(Change);
            break;
          }
          case 34: {
            if (data_ == null) {
              Data = new global::Proto.TowerChangeData();
            }
            input.ReadMessage(Data);
            break;
          }
          case 58: {
            global::Proto.InteractEnterResp subBuilder = new global::Proto.InteractEnterResp();
            if (actionCase_ == ActionOneofCase.EnterResp) {
              subBuilder.MergeFrom(EnterResp);
            }
            input.ReadMessage(subBuilder);
            EnterResp = subBuilder;
            break;
          }
          case 66: {
            global::Proto.InteractBattleEndResp subBuilder = new global::Proto.InteractBattleEndResp();
            if (actionCase_ == ActionOneofCase.BattleEndResp) {
              subBuilder.MergeFrom(BattleEndResp);
            }
            input.ReadMessage(subBuilder);
            BattleEndResp = subBuilder;
            break;
          }
          case 74: {
            global::Proto.InteractSelectResp subBuilder = new global::Proto.InteractSelectResp();
            if (actionCase_ == ActionOneofCase.SelectResp) {
              subBuilder.MergeFrom(SelectResp);
            }
            input.ReadMessage(subBuilder);
            SelectResp = subBuilder;
            break;
          }
          case 82: {
            global::Proto.InteractStrengthenMachineResp subBuilder = new global::Proto.InteractStrengthenMachineResp();
            if (actionCase_ == ActionOneofCase.StrengthenMachineResp) {
              subBuilder.MergeFrom(StrengthenMachineResp);
            }
            input.ReadMessage(subBuilder);
            StrengthenMachineResp = subBuilder;
            break;
          }
          case 114: {
            global::Proto.SettleDataResp subBuilder = new global::Proto.SettleDataResp();
            if (actionCase_ == ActionOneofCase.Settle) {
              subBuilder.MergeFrom(Settle);
            }
            input.ReadMessage(subBuilder);
            Settle = subBuilder;
            break;
          }
          case 122: {
            global::Proto.Nil subBuilder = new global::Proto.Nil();
            if (actionCase_ == ActionOneofCase.NilResp) {
              subBuilder.MergeFrom(NilResp);
            }
            input.ReadMessage(subBuilder);
            NilResp = subBuilder;
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 18: {
            cases_.AddEntriesFrom(ref input, _repeated_cases_codec);
            break;
          }
          case 26: {
            if (change_ == null) {
              Change = new global::Proto.ChangeInfo();
            }
            input.ReadMessage(Change);
            break;
          }
          case 34: {
            if (data_ == null) {
              Data = new global::Proto.TowerChangeData();
            }
            input.ReadMessage(Data);
            break;
          }
          case 58: {
            global::Proto.InteractEnterResp subBuilder = new global::Proto.InteractEnterResp();
            if (actionCase_ == ActionOneofCase.EnterResp) {
              subBuilder.MergeFrom(EnterResp);
            }
            input.ReadMessage(subBuilder);
            EnterResp = subBuilder;
            break;
          }
          case 66: {
            global::Proto.InteractBattleEndResp subBuilder = new global::Proto.InteractBattleEndResp();
            if (actionCase_ == ActionOneofCase.BattleEndResp) {
              subBuilder.MergeFrom(BattleEndResp);
            }
            input.ReadMessage(subBuilder);
            BattleEndResp = subBuilder;
            break;
          }
          case 74: {
            global::Proto.InteractSelectResp subBuilder = new global::Proto.InteractSelectResp();
            if (actionCase_ == ActionOneofCase.SelectResp) {
              subBuilder.MergeFrom(SelectResp);
            }
            input.ReadMessage(subBuilder);
            SelectResp = subBuilder;
            break;
          }
          case 82: {
            global::Proto.InteractStrengthenMachineResp subBuilder = new global::Proto.InteractStrengthenMachineResp();
            if (actionCase_ == ActionOneofCase.StrengthenMachineResp) {
              subBuilder.MergeFrom(StrengthenMachineResp);
            }
            input.ReadMessage(subBuilder);
            StrengthenMachineResp = subBuilder;
            break;
          }
          case 114: {
            global::Proto.SettleDataResp subBuilder = new global::Proto.SettleDataResp();
            if (actionCase_ == ActionOneofCase.Settle) {
              subBuilder.MergeFrom(Settle);
            }
            input.ReadMessage(subBuilder);
            Settle = subBuilder;
            break;
          }
          case 122: {
            global::Proto.Nil subBuilder = new global::Proto.Nil();
            if (actionCase_ == ActionOneofCase.NilResp) {
              subBuilder.MergeFrom(NilResp);
            }
            input.ReadMessage(subBuilder);
            NilResp = subBuilder;
            break;
          }
          case 16378: {
            NextPackage = input.ReadBytes();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
