// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: ChessRogueCell.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 EggLink.DanhengServer.Proto {

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

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

    static ChessRogueCellReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChRDaGVzc1JvZ3VlQ2VsbC5wcm90bxoVQ2VsbEFkdmFuY2VJbmZvLnByb3Rv",
            "Gh9DaGVzc1JvZ3VlQ2VsbFNwZWNpYWxUeXBlLnByb3RvGh9DaGVzc1JvZ3Vl",
            "Qm9hcmRDZWxsU3RhdHVzLnByb3RvIqACCg5DaGVzc1JvZ3VlQ2VsbBIPCgdy",
            "b29tX2lkGAYgASgNEg0KBXBvc195GAMgASgNEg0KBXBvc194GAUgASgNEhEK",
            "CW1hcmtfdHlwZRgLIAEoDRIvCgtjZWxsX3N0YXR1cxgKIAEoDjIaLkNoZXNz",
            "Um9ndWVCb2FyZENlbGxTdGF0dXMSEwoLaXNfdW5sb2NrZWQYDyABKAgSJAoK",
            "c3RhZ2VfaW5mbxgHIAEoCzIQLkNlbGxBZHZhbmNlSW5mbxIKCgJpZBgBIAEo",
            "DRIwCgxzcGVjaWFsX3R5cGUYDiABKA4yGi5DaGVzc1JvZ3VlQ2VsbFNwZWNp",
            "YWxUeXBlEg4KBnVubG9jaxgCIAEoCBISCgpibG9ja190eXBlGAwgASgNQh6q",
            "AhtFZ2dMaW5rLkRhbmhlbmdTZXJ2ZXIuUHJvdG9iBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::EggLink.DanhengServer.Proto.CellAdvanceInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialTypeReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatusReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.ChessRogueCell), global::EggLink.DanhengServer.Proto.ChessRogueCell.Parser, new[]{ "RoomId", "PosY", "PosX", "MarkType", "CellStatus", "IsUnlocked", "StageInfo", "Id", "SpecialType", "Unlock", "BlockType" }, null, null, null, null)
          }));
    }
    #endregion

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::EggLink.DanhengServer.Proto.ChessRogueCellReflection.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 ChessRogueCell() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ChessRogueCell(ChessRogueCell other) : this() {
      roomId_ = other.roomId_;
      posY_ = other.posY_;
      posX_ = other.posX_;
      markType_ = other.markType_;
      cellStatus_ = other.cellStatus_;
      isUnlocked_ = other.isUnlocked_;
      stageInfo_ = other.stageInfo_ != null ? other.stageInfo_.Clone() : null;
      id_ = other.id_;
      specialType_ = other.specialType_;
      unlock_ = other.unlock_;
      blockType_ = other.blockType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

    /// <summary>Field number for the "cell_status" field.</summary>
    public const int CellStatusFieldNumber = 10;
    private global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus cellStatus_ = global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus.Idle;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus CellStatus {
      get { return cellStatus_; }
      set {
        cellStatus_ = value;
      }
    }

    /// <summary>Field number for the "is_unlocked" field.</summary>
    public const int IsUnlockedFieldNumber = 15;
    private bool isUnlocked_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsUnlocked {
      get { return isUnlocked_; }
      set {
        isUnlocked_ = value;
      }
    }

    /// <summary>Field number for the "stage_info" field.</summary>
    public const int StageInfoFieldNumber = 7;
    private global::EggLink.DanhengServer.Proto.CellAdvanceInfo stageInfo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::EggLink.DanhengServer.Proto.CellAdvanceInfo StageInfo {
      get { return stageInfo_; }
      set {
        stageInfo_ = value;
      }
    }

    /// <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 "special_type" field.</summary>
    public const int SpecialTypeFieldNumber = 14;
    private global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType specialType_ = global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType SpecialType {
      get { return specialType_; }
      set {
        specialType_ = value;
      }
    }

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ChessRogueCell other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RoomId != other.RoomId) return false;
      if (PosY != other.PosY) return false;
      if (PosX != other.PosX) return false;
      if (MarkType != other.MarkType) return false;
      if (CellStatus != other.CellStatus) return false;
      if (IsUnlocked != other.IsUnlocked) return false;
      if (!object.Equals(StageInfo, other.StageInfo)) return false;
      if (Id != other.Id) return false;
      if (SpecialType != other.SpecialType) return false;
      if (Unlock != other.Unlock) return false;
      if (BlockType != other.BlockType) 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 (RoomId != 0) hash ^= RoomId.GetHashCode();
      if (PosY != 0) hash ^= PosY.GetHashCode();
      if (PosX != 0) hash ^= PosX.GetHashCode();
      if (MarkType != 0) hash ^= MarkType.GetHashCode();
      if (CellStatus != global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus.Idle) hash ^= CellStatus.GetHashCode();
      if (IsUnlocked != false) hash ^= IsUnlocked.GetHashCode();
      if (stageInfo_ != null) hash ^= StageInfo.GetHashCode();
      if (Id != 0) hash ^= Id.GetHashCode();
      if (SpecialType != global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType.None) hash ^= SpecialType.GetHashCode();
      if (Unlock != false) hash ^= Unlock.GetHashCode();
      if (BlockType != 0) hash ^= BlockType.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteUInt32(Id);
      }
      if (Unlock != false) {
        output.WriteRawTag(16);
        output.WriteBool(Unlock);
      }
      if (PosY != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(PosY);
      }
      if (PosX != 0) {
        output.WriteRawTag(40);
        output.WriteUInt32(PosX);
      }
      if (RoomId != 0) {
        output.WriteRawTag(48);
        output.WriteUInt32(RoomId);
      }
      if (stageInfo_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(StageInfo);
      }
      if (CellStatus != global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus.Idle) {
        output.WriteRawTag(80);
        output.WriteEnum((int) CellStatus);
      }
      if (MarkType != 0) {
        output.WriteRawTag(88);
        output.WriteUInt32(MarkType);
      }
      if (BlockType != 0) {
        output.WriteRawTag(96);
        output.WriteUInt32(BlockType);
      }
      if (SpecialType != global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType.None) {
        output.WriteRawTag(112);
        output.WriteEnum((int) SpecialType);
      }
      if (IsUnlocked != false) {
        output.WriteRawTag(120);
        output.WriteBool(IsUnlocked);
      }
      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 (Unlock != false) {
        output.WriteRawTag(16);
        output.WriteBool(Unlock);
      }
      if (PosY != 0) {
        output.WriteRawTag(24);
        output.WriteUInt32(PosY);
      }
      if (PosX != 0) {
        output.WriteRawTag(40);
        output.WriteUInt32(PosX);
      }
      if (RoomId != 0) {
        output.WriteRawTag(48);
        output.WriteUInt32(RoomId);
      }
      if (stageInfo_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(StageInfo);
      }
      if (CellStatus != global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus.Idle) {
        output.WriteRawTag(80);
        output.WriteEnum((int) CellStatus);
      }
      if (MarkType != 0) {
        output.WriteRawTag(88);
        output.WriteUInt32(MarkType);
      }
      if (BlockType != 0) {
        output.WriteRawTag(96);
        output.WriteUInt32(BlockType);
      }
      if (SpecialType != global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType.None) {
        output.WriteRawTag(112);
        output.WriteEnum((int) SpecialType);
      }
      if (IsUnlocked != false) {
        output.WriteRawTag(120);
        output.WriteBool(IsUnlocked);
      }
      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 (RoomId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RoomId);
      }
      if (PosY != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PosY);
      }
      if (PosX != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PosX);
      }
      if (MarkType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MarkType);
      }
      if (CellStatus != global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus.Idle) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) CellStatus);
      }
      if (IsUnlocked != false) {
        size += 1 + 1;
      }
      if (stageInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(StageInfo);
      }
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Id);
      }
      if (SpecialType != global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType.None) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SpecialType);
      }
      if (Unlock != false) {
        size += 1 + 1;
      }
      if (BlockType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(BlockType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ChessRogueCell other) {
      if (other == null) {
        return;
      }
      if (other.RoomId != 0) {
        RoomId = other.RoomId;
      }
      if (other.PosY != 0) {
        PosY = other.PosY;
      }
      if (other.PosX != 0) {
        PosX = other.PosX;
      }
      if (other.MarkType != 0) {
        MarkType = other.MarkType;
      }
      if (other.CellStatus != global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus.Idle) {
        CellStatus = other.CellStatus;
      }
      if (other.IsUnlocked != false) {
        IsUnlocked = other.IsUnlocked;
      }
      if (other.stageInfo_ != null) {
        if (stageInfo_ == null) {
          StageInfo = new global::EggLink.DanhengServer.Proto.CellAdvanceInfo();
        }
        StageInfo.MergeFrom(other.StageInfo);
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SpecialType != global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType.None) {
        SpecialType = other.SpecialType;
      }
      if (other.Unlock != false) {
        Unlock = other.Unlock;
      }
      if (other.BlockType != 0) {
        BlockType = other.BlockType;
      }
      _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) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 16: {
            Unlock = input.ReadBool();
            break;
          }
          case 24: {
            PosY = input.ReadUInt32();
            break;
          }
          case 40: {
            PosX = input.ReadUInt32();
            break;
          }
          case 48: {
            RoomId = input.ReadUInt32();
            break;
          }
          case 58: {
            if (stageInfo_ == null) {
              StageInfo = new global::EggLink.DanhengServer.Proto.CellAdvanceInfo();
            }
            input.ReadMessage(StageInfo);
            break;
          }
          case 80: {
            CellStatus = (global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus) input.ReadEnum();
            break;
          }
          case 88: {
            MarkType = input.ReadUInt32();
            break;
          }
          case 96: {
            BlockType = input.ReadUInt32();
            break;
          }
          case 112: {
            SpecialType = (global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType) input.ReadEnum();
            break;
          }
          case 120: {
            IsUnlocked = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadUInt32();
            break;
          }
          case 16: {
            Unlock = input.ReadBool();
            break;
          }
          case 24: {
            PosY = input.ReadUInt32();
            break;
          }
          case 40: {
            PosX = input.ReadUInt32();
            break;
          }
          case 48: {
            RoomId = input.ReadUInt32();
            break;
          }
          case 58: {
            if (stageInfo_ == null) {
              StageInfo = new global::EggLink.DanhengServer.Proto.CellAdvanceInfo();
            }
            input.ReadMessage(StageInfo);
            break;
          }
          case 80: {
            CellStatus = (global::EggLink.DanhengServer.Proto.ChessRogueBoardCellStatus) input.ReadEnum();
            break;
          }
          case 88: {
            MarkType = input.ReadUInt32();
            break;
          }
          case 96: {
            BlockType = input.ReadUInt32();
            break;
          }
          case 112: {
            SpecialType = (global::EggLink.DanhengServer.Proto.ChessRogueCellSpecialType) input.ReadEnum();
            break;
          }
          case 120: {
            IsUnlocked = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
