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

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

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

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

        static SocketGameProtocolReflection()
        {
            byte[] descriptorData = global::System.Convert.FromBase64String(
                string.Concat(
                  "ChhTb2NrZXRHYW1lUHJvdG9jb2wucHJvdG8SElNvY2tldEdhbWVQcm90b2Nv",
                  "bCLZAgoITWFpblBhY2sSNAoLcmVxdWVzdGNvZGUYASABKA4yHy5Tb2NrZXRH",
                  "YW1lUHJvdG9jb2wuUmVxdWVzdENvZGUSMgoKYWN0aW9uY29kZRgCIAEoDjIe",
                  "LlNvY2tldEdhbWVQcm90b2NvbC5BY3Rpb25Db2RlEjIKCnJldHVybmNvZGUY",
                  "AyABKA4yHi5Tb2NrZXRHYW1lUHJvdG9jb2wuUmV0dXJuQ29kZRIwCglsb2dp",
                  "blBhY2sYBCABKAsyHS5Tb2NrZXRHYW1lUHJvdG9jb2wuTG9naW5QYWNrEgsK",
                  "A3N0chgFIAEoCRIuCghyb29tcGFjaxgGIAMoCzIcLlNvY2tldEdhbWVQcm90",
                  "b2NvbC5Sb29tUGFjaxIyCgpwbGF5ZXJwYWNrGAcgAygLMh4uU29ja2V0R2Ft",
                  "ZVByb3RvY29sLlBsYXllclBhY2sSDAoEdXNlchgIIAEoCSIvCglMb2dpblBh",
                  "Y2sSEAoIdXNlcm5hbWUYASABKAkSEAoIcGFzc3dvcmQYAiABKAkiSwoIUm9v",
                  "bVBhY2sSEAoIcm9vbW5hbWUYASABKAkSDgoGbWF4bnVtGAIgASgFEg4KBmN1",
                  "cm51bRgDIAEoBRINCgVzdGF0ZRgEIAEoBSKZAQoKUGxheWVyUGFjaxISCgpw",
                  "bGF5ZXJuYW1lGAEgASgJEhAKCHBsYXllcklEGAIgASgJEgoKAmhwGAMgASgF",
                  "EiwKB3Bvc1BhY2sYBCABKAsyGy5Tb2NrZXRHYW1lUHJvdG9jb2wuUG9zUGFj",
                  "axIRCglwbGF5ZXJKb2IYBSABKAUSGAoQcGxheWVyQXBwZWFyYW5jZRgGIAEo",
                  "CSK/AQoHUG9zUGFjaxIMCgRQb3NYGAEgASgCEgwKBFBvc1kYAiABKAISDAoE",
                  "UG9zWhgDIAEoAhINCgVSb3RhWBgEIAEoAhINCgVSb3RhWRgFIAEoAhINCgVS",
                  "b3RhWhgGIAEoAhIPCgdHdW5Sb3RaGAcgASgCEhEKCUFuaW1hdGlvbhgIIAEo",
                  "BRIMCgREaXJ0GAkgASgFEg0KBU1vdmVYGAogASgCEg0KBU1vdmVZGAsgASgC",
                  "Eg0KBU1vdmVaGAwgASgCKkcKC1JlcXVlc3RDb2RlEg8KC1JlcXVlc3ROb25l",
                  "EAASCAoEVXNlchABEggKBFJvb20QAhIICgRHYW1lEAMSCQoFSGVhcnQQBCqh",
                  "AgoKQWN0aW9uQ29kZRIOCgpBY3Rpb25Ob25lEAASDAoIUmVnaXN0ZXIQARIJ",
                  "CgVMb2dpbhACEg4KCkNyZWF0ZVJvb20QAxIMCghGaW5kUm9vbRAEEg4KClBs",
                  "YXllckxpc3QQBRIMCghKb2luUm9vbRAGEggKBEV4aXQQBxIICgRDaGF0EAgS",
                  "DQoJU3RhcnRHYW1lEAkSDAoIU3RhcnRpbmcQChIPCgtVcGRhdGVTdGF0ZRAL",
                  "EgwKCEV4aXRHYW1lEAwSEwoPVXBDaGFyYWN0ZXJMaXN0EA0SCQoFVXBQb3MQ",
                  "DhIICgRGaXJlEA8SDQoJSGVhcnRCZWF0EBASEAoMQWRkQ2hhcmFjdGVyEBES",
                  "EwoPUmVtb3ZlQ2hhcmFjdGVyEBIqQQoKUmV0dXJuQ29kZRIOCgpSZXR1cm5O",
                  "b25lEAASCwoHU3VjY2VzcxABEggKBEZhaWwQAhIMCghOb25lUm9vbRADYgZw",
                  "cm90bzM="));
            descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
                new pbr::FileDescriptor[] { },
                new pbr::GeneratedClrTypeInfo(new[] { typeof(global::SocketGameProtocol.RequestCode), typeof(global::SocketGameProtocol.ActionCode), typeof(global::SocketGameProtocol.ReturnCode), }, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::SocketGameProtocol.MainPack), global::SocketGameProtocol.MainPack.Parser, new[]{ "Requestcode", "Actioncode", "Returncode", "LoginPack", "Str", "Roompack", "Playerpack", "User" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::SocketGameProtocol.LoginPack), global::SocketGameProtocol.LoginPack.Parser, new[]{ "Username", "Password" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::SocketGameProtocol.RoomPack), global::SocketGameProtocol.RoomPack.Parser, new[]{ "Roomname", "Maxnum", "Curnum", "State" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::SocketGameProtocol.PlayerPack), global::SocketGameProtocol.PlayerPack.Parser, new[]{ "Playername", "PlayerID", "Hp", "PosPack", "PlayerJob", "PlayerAppearance" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::SocketGameProtocol.PosPack), global::SocketGameProtocol.PosPack.Parser, new[]{ "PosX", "PosY", "PosZ", "RotaX", "RotaY", "RotaZ", "GunRotZ", "Animation", "Dirt", "MoveX", "MoveY", "MoveZ" }, null, null, null, null)
                }));
        }
        #endregion

    }
    #region Enums
    public enum RequestCode
    {
        [pbr::OriginalName("RequestNone")] RequestNone = 0,
        /// <summary>
        ///用户
        /// </summary>
        [pbr::OriginalName("User")] User = 1,
        /// <summary>
        ///房间
        /// </summary>
        [pbr::OriginalName("Room")] Room = 2,
        /// <summary>
        ///游戏
        /// </summary>
        [pbr::OriginalName("Game")] Game = 3,
        /// <summary>
        ///心跳
        /// </summary>
        [pbr::OriginalName("Heart")] Heart = 4,
    }

    public enum ActionCode
    {
        [pbr::OriginalName("ActionNone")] ActionNone = 0,
        /// <summary>
        ///注册
        /// </summary>
        [pbr::OriginalName("Register")] Register = 1,
        /// <summary>
        ///登录
        /// </summary>
        [pbr::OriginalName("Login")] Login = 2,
        /// <summary>
        ///创建房间
        /// </summary>
        [pbr::OriginalName("CreateRoom")] CreateRoom = 3,
        /// <summary>
        ///查找房间
        /// </summary>
        [pbr::OriginalName("FindRoom")] FindRoom = 4,
        /// <summary>
        ///玩家列表
        /// </summary>
        [pbr::OriginalName("PlayerList")] PlayerList = 5,
        /// <summary>
        ///加入房间
        /// </summary>
        [pbr::OriginalName("JoinRoom")] JoinRoom = 6,
        /// <summary>
        ///离开
        /// </summary>
        [pbr::OriginalName("Exit")] Exit = 7,
        /// <summary>
        ///聊天
        /// </summary>
        [pbr::OriginalName("Chat")] Chat = 8,
        /// <summary>
        ///开始游戏
        /// </summary>
        [pbr::OriginalName("StartGame")] StartGame = 9,
        /// <summary>
        ///服务端发送来的开始游戏指令
        /// </summary>
        [pbr::OriginalName("Starting")] Starting = 10,
        /// <summary>
        ///更新玩家状态
        /// </summary>
        [pbr::OriginalName("UpdateState")] UpdateState = 11,
        /// <summary>
        ///退出游戏
        /// </summary>
        [pbr::OriginalName("ExitGame")] ExitGame = 12,
        /// <summary>
        ///更新玩家角色列表（移除玩家）
        /// </summary>
        [pbr::OriginalName("UpCharacterList")] UpCharacterList = 13,
        /// <summary>
        ///更新位置
        /// </summary>
        [pbr::OriginalName("UpPos")] UpPos = 14,
        /// <summary>
        ///开火
        /// </summary>
        [pbr::OriginalName("Fire")] Fire = 15,
        /// <summary>
        ///心跳
        /// </summary>
        [pbr::OriginalName("HeartBeat")] HeartBeat = 16,
        /// <summary>
        ///新增玩家
        /// </summary>
        [pbr::OriginalName("AddCharacter")] AddCharacter = 17,
        /// <summary>
        ///移除玩家
        /// </summary>
        [pbr::OriginalName("RemoveCharacter")] RemoveCharacter = 18,
    }

    public enum ReturnCode
    {
        [pbr::OriginalName("ReturnNone")] ReturnNone = 0,
        /// <summary>
        ///成功
        /// </summary>
        [pbr::OriginalName("Success")] Success = 1,
        /// <summary>
        ///失败
        /// </summary>
        [pbr::OriginalName("Fail")] Fail = 2,
        /// <summary>
        ///没有房间
        /// </summary>
        [pbr::OriginalName("NoneRoom")] NoneRoom = 3,
    }

    #endregion

    #region Messages
    public sealed partial class MainPack : pb::IMessage<MainPack>
    {
        private static readonly pb::MessageParser<MainPack> _parser = new pb::MessageParser<MainPack>(() => new MainPack());
        private pb::UnknownFieldSet _unknownFields;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<MainPack> Parser { get { return _parser; } }

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

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

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

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public MainPack(MainPack other) : this()
        {
            requestcode_ = other.requestcode_;
            actioncode_ = other.actioncode_;
            returncode_ = other.returncode_;
            loginPack_ = other.loginPack_ != null ? other.loginPack_.Clone() : null;
            str_ = other.str_;
            roompack_ = other.roompack_.Clone();
            playerpack_ = other.playerpack_.Clone();
            user_ = other.user_;
            _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
        }

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

        /// <summary>Field number for the "requestcode" field.</summary>
        public const int RequestcodeFieldNumber = 1;
        private global::SocketGameProtocol.RequestCode requestcode_ = global::SocketGameProtocol.RequestCode.RequestNone;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::SocketGameProtocol.RequestCode Requestcode
        {
            get { return requestcode_; }
            set
            {
                requestcode_ = value;
            }
        }

        /// <summary>Field number for the "actioncode" field.</summary>
        public const int ActioncodeFieldNumber = 2;
        private global::SocketGameProtocol.ActionCode actioncode_ = global::SocketGameProtocol.ActionCode.ActionNone;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::SocketGameProtocol.ActionCode Actioncode
        {
            get { return actioncode_; }
            set
            {
                actioncode_ = value;
            }
        }

        /// <summary>Field number for the "returncode" field.</summary>
        public const int ReturncodeFieldNumber = 3;
        private global::SocketGameProtocol.ReturnCode returncode_ = global::SocketGameProtocol.ReturnCode.ReturnNone;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::SocketGameProtocol.ReturnCode Returncode
        {
            get { return returncode_; }
            set
            {
                returncode_ = value;
            }
        }

        /// <summary>Field number for the "loginPack" field.</summary>
        public const int LoginPackFieldNumber = 4;
        private global::SocketGameProtocol.LoginPack loginPack_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::SocketGameProtocol.LoginPack LoginPack
        {
            get { return loginPack_; }
            set
            {
                loginPack_ = value;
            }
        }

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

        /// <summary>Field number for the "roompack" field.</summary>
        public const int RoompackFieldNumber = 6;
        private static readonly pb::FieldCodec<global::SocketGameProtocol.RoomPack> _repeated_roompack_codec
            = pb::FieldCodec.ForMessage(50, global::SocketGameProtocol.RoomPack.Parser);
        private readonly pbc::RepeatedField<global::SocketGameProtocol.RoomPack> roompack_ = new pbc::RepeatedField<global::SocketGameProtocol.RoomPack>();
        /// <summary>
        ///房间包，repeated加上为list
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::SocketGameProtocol.RoomPack> Roompack
        {
            get { return roompack_; }
        }

        /// <summary>Field number for the "playerpack" field.</summary>
        public const int PlayerpackFieldNumber = 7;
        private static readonly pb::FieldCodec<global::SocketGameProtocol.PlayerPack> _repeated_playerpack_codec
            = pb::FieldCodec.ForMessage(58, global::SocketGameProtocol.PlayerPack.Parser);
        private readonly pbc::RepeatedField<global::SocketGameProtocol.PlayerPack> playerpack_ = new pbc::RepeatedField<global::SocketGameProtocol.PlayerPack>();
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public pbc::RepeatedField<global::SocketGameProtocol.PlayerPack> Playerpack
        {
            get { return playerpack_; }
        }

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

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(MainPack other)
        {
            if (ReferenceEquals(other, null))
            {
                return false;
            }
            if (ReferenceEquals(other, this))
            {
                return true;
            }
            if (Requestcode != other.Requestcode) return false;
            if (Actioncode != other.Actioncode) return false;
            if (Returncode != other.Returncode) return false;
            if (!object.Equals(LoginPack, other.LoginPack)) return false;
            if (Str != other.Str) return false;
            if (!roompack_.Equals(other.roompack_)) return false;
            if (!playerpack_.Equals(other.playerpack_)) return false;
            if (User != other.User) return false;
            return Equals(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode()
        {
            int hash = 1;
            if (Requestcode != global::SocketGameProtocol.RequestCode.RequestNone) hash ^= Requestcode.GetHashCode();
            if (Actioncode != global::SocketGameProtocol.ActionCode.ActionNone) hash ^= Actioncode.GetHashCode();
            if (Returncode != global::SocketGameProtocol.ReturnCode.ReturnNone) hash ^= Returncode.GetHashCode();
            if (loginPack_ != null) hash ^= LoginPack.GetHashCode();
            if (Str.Length != 0) hash ^= Str.GetHashCode();
            hash ^= roompack_.GetHashCode();
            hash ^= playerpack_.GetHashCode();
            if (User.Length != 0) hash ^= User.GetHashCode();
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return hash;
        }

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output)
        {
            if (Requestcode != global::SocketGameProtocol.RequestCode.RequestNone)
            {
                output.WriteRawTag(8);
                output.WriteEnum((int)Requestcode);
            }
            if (Actioncode != global::SocketGameProtocol.ActionCode.ActionNone)
            {
                output.WriteRawTag(16);
                output.WriteEnum((int)Actioncode);
            }
            if (Returncode != global::SocketGameProtocol.ReturnCode.ReturnNone)
            {
                output.WriteRawTag(24);
                output.WriteEnum((int)Returncode);
            }
            if (loginPack_ != null)
            {
                output.WriteRawTag(34);
                output.WriteMessage(LoginPack);
            }
            if (Str.Length != 0)
            {
                output.WriteRawTag(42);
                output.WriteString(Str);
            }
            roompack_.WriteTo(output, _repeated_roompack_codec);
            playerpack_.WriteTo(output, _repeated_playerpack_codec);
            if (User.Length != 0)
            {
                output.WriteRawTag(66);
                output.WriteString(User);
            }
            if (_unknownFields != null)
            {
                _unknownFields.WriteTo(output);
            }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize()
        {
            int size = 0;
            if (Requestcode != global::SocketGameProtocol.RequestCode.RequestNone)
            {
                size += 1 + pb::CodedOutputStream.ComputeEnumSize((int)Requestcode);
            }
            if (Actioncode != global::SocketGameProtocol.ActionCode.ActionNone)
            {
                size += 1 + pb::CodedOutputStream.ComputeEnumSize((int)Actioncode);
            }
            if (Returncode != global::SocketGameProtocol.ReturnCode.ReturnNone)
            {
                size += 1 + pb::CodedOutputStream.ComputeEnumSize((int)Returncode);
            }
            if (loginPack_ != null)
            {
                size += 1 + pb::CodedOutputStream.ComputeMessageSize(LoginPack);
            }
            if (Str.Length != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeStringSize(Str);
            }
            size += roompack_.CalculateSize(_repeated_roompack_codec);
            size += playerpack_.CalculateSize(_repeated_playerpack_codec);
            if (User.Length != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeStringSize(User);
            }
            if (_unknownFields != null)
            {
                size += _unknownFields.CalculateSize();
            }
            return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(MainPack other)
        {
            if (other == null)
            {
                return;
            }
            if (other.Requestcode != global::SocketGameProtocol.RequestCode.RequestNone)
            {
                Requestcode = other.Requestcode;
            }
            if (other.Actioncode != global::SocketGameProtocol.ActionCode.ActionNone)
            {
                Actioncode = other.Actioncode;
            }
            if (other.Returncode != global::SocketGameProtocol.ReturnCode.ReturnNone)
            {
                Returncode = other.Returncode;
            }
            if (other.loginPack_ != null)
            {
                if (loginPack_ == null)
                {
                    LoginPack = new global::SocketGameProtocol.LoginPack();
                }
                LoginPack.MergeFrom(other.LoginPack);
            }
            if (other.Str.Length != 0)
            {
                Str = other.Str;
            }
            roompack_.Add(other.roompack_);
            playerpack_.Add(other.playerpack_);
            if (other.User.Length != 0)
            {
                User = other.User;
            }
            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                    default:
                        _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                        break;
                    case 8:
                        {
                            Requestcode = (global::SocketGameProtocol.RequestCode)input.ReadEnum();
                            break;
                        }
                    case 16:
                        {
                            Actioncode = (global::SocketGameProtocol.ActionCode)input.ReadEnum();
                            break;
                        }
                    case 24:
                        {
                            Returncode = (global::SocketGameProtocol.ReturnCode)input.ReadEnum();
                            break;
                        }
                    case 34:
                        {
                            if (loginPack_ == null)
                            {
                                LoginPack = new global::SocketGameProtocol.LoginPack();
                            }
                            input.ReadMessage(LoginPack);
                            break;
                        }
                    case 42:
                        {
                            Str = input.ReadString();
                            break;
                        }
                    case 50:
                        {
                            roompack_.AddEntriesFrom(input, _repeated_roompack_codec);
                            break;
                        }
                    case 58:
                        {
                            playerpack_.AddEntriesFrom(input, _repeated_playerpack_codec);
                            break;
                        }
                    case 66:
                        {
                            User = input.ReadString();
                            break;
                        }
                }
            }
        }

    }

    public sealed partial class LoginPack : pb::IMessage<LoginPack>
    {
        private static readonly pb::MessageParser<LoginPack> _parser = new pb::MessageParser<LoginPack>(() => new LoginPack());
        private pb::UnknownFieldSet _unknownFields;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<LoginPack> Parser { get { return _parser; } }

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

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

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

        partial void OnConstruction();

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

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

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

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

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

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

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

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output)
        {
            if (Username.Length != 0)
            {
                output.WriteRawTag(10);
                output.WriteString(Username);
            }
            if (Password.Length != 0)
            {
                output.WriteRawTag(18);
                output.WriteString(Password);
            }
            if (_unknownFields != null)
            {
                _unknownFields.WriteTo(output);
            }
        }

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

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                    default:
                        _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                        break;
                    case 10:
                        {
                            Username = input.ReadString();
                            break;
                        }
                    case 18:
                        {
                            Password = input.ReadString();
                            break;
                        }
                }
            }
        }

    }

    public sealed partial class RoomPack : pb::IMessage<RoomPack>
    {
        private static readonly pb::MessageParser<RoomPack> _parser = new pb::MessageParser<RoomPack>(() => new RoomPack());
        private pb::UnknownFieldSet _unknownFields;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<RoomPack> Parser { get { return _parser; } }

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

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

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

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public RoomPack(RoomPack other) : this()
        {
            roomname_ = other.roomname_;
            maxnum_ = other.maxnum_;
            curnum_ = other.curnum_;
            state_ = other.state_;
            _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
        }

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

        /// <summary>Field number for the "roomname" field.</summary>
        public const int RoomnameFieldNumber = 1;
        private string roomname_ = "";
        /// <summary>
        ///房间名
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public string Roomname
        {
            get { return roomname_; }
            set
            {
                roomname_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
            }
        }

        /// <summary>Field number for the "maxnum" field.</summary>
        public const int MaxnumFieldNumber = 2;
        private int maxnum_;
        /// <summary>
        ///房间最大人数
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Maxnum
        {
            get { return maxnum_; }
            set
            {
                maxnum_ = value;
            }
        }

        /// <summary>Field number for the "curnum" field.</summary>
        public const int CurnumFieldNumber = 3;
        private int curnum_;
        /// <summary>
        ///房间当前人数
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Curnum
        {
            get { return curnum_; }
            set
            {
                curnum_ = value;
            }
        }

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

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

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

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

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output)
        {
            if (Roomname.Length != 0)
            {
                output.WriteRawTag(10);
                output.WriteString(Roomname);
            }
            if (Maxnum != 0)
            {
                output.WriteRawTag(16);
                output.WriteInt32(Maxnum);
            }
            if (Curnum != 0)
            {
                output.WriteRawTag(24);
                output.WriteInt32(Curnum);
            }
            if (State != 0)
            {
                output.WriteRawTag(32);
                output.WriteInt32(State);
            }
            if (_unknownFields != null)
            {
                _unknownFields.WriteTo(output);
            }
        }

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

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                    default:
                        _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                        break;
                    case 10:
                        {
                            Roomname = input.ReadString();
                            break;
                        }
                    case 16:
                        {
                            Maxnum = input.ReadInt32();
                            break;
                        }
                    case 24:
                        {
                            Curnum = input.ReadInt32();
                            break;
                        }
                    case 32:
                        {
                            State = input.ReadInt32();
                            break;
                        }
                }
            }
        }

    }

    public sealed partial class PlayerPack : pb::IMessage<PlayerPack>
    {
        private static readonly pb::MessageParser<PlayerPack> _parser = new pb::MessageParser<PlayerPack>(() => new PlayerPack());
        private pb::UnknownFieldSet _unknownFields;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<PlayerPack> Parser { get { return _parser; } }

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

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

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

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PlayerPack(PlayerPack other) : this()
        {
            playername_ = other.playername_;
            playerID_ = other.playerID_;
            hp_ = other.hp_;
            posPack_ = other.posPack_ != null ? other.posPack_.Clone() : null;
            playerJob_ = other.playerJob_;
            playerAppearance_ = other.playerAppearance_;
            _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
        }

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

        /// <summary>Field number for the "playername" field.</summary>
        public const int PlayernameFieldNumber = 1;
        private string playername_ = "";
        /// <summary>
        ///玩家名称
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public string Playername
        {
            get { return playername_; }
            set
            {
                playername_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
            }
        }

        /// <summary>Field number for the "playerID" field.</summary>
        public const int PlayerIDFieldNumber = 2;
        private string playerID_ = "";
        /// <summary>
        ///玩家ID
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public string PlayerID
        {
            get { return playerID_; }
            set
            {
                playerID_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
            }
        }

        /// <summary>Field number for the "hp" field.</summary>
        public const int HpFieldNumber = 3;
        private int hp_;
        /// <summary>
        ///玩家血量
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Hp
        {
            get { return hp_; }
            set
            {
                hp_ = value;
            }
        }

        /// <summary>Field number for the "posPack" field.</summary>
        public const int PosPackFieldNumber = 4;
        private global::SocketGameProtocol.PosPack posPack_;
        /// <summary>
        ///位置信息
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public global::SocketGameProtocol.PosPack PosPack
        {
            get { return posPack_; }
            set
            {
                posPack_ = value;
            }
        }

        /// <summary>Field number for the "playerJob" field.</summary>
        public const int PlayerJobFieldNumber = 5;
        private int playerJob_;
        /// <summary>
        ///玩家职业
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int PlayerJob
        {
            get { return playerJob_; }
            set
            {
                playerJob_ = value;
            }
        }

        /// <summary>Field number for the "playerAppearance" field.</summary>
        public const int PlayerAppearanceFieldNumber = 6;
        private string playerAppearance_ = "";
        /// <summary>
        ///玩家外观
        /// </summary>
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public string PlayerAppearance
        {
            get { return playerAppearance_; }
            set
            {
                playerAppearance_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
            }
        }

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(PlayerPack other)
        {
            if (ReferenceEquals(other, null))
            {
                return false;
            }
            if (ReferenceEquals(other, this))
            {
                return true;
            }
            if (Playername != other.Playername) return false;
            if (PlayerID != other.PlayerID) return false;
            if (Hp != other.Hp) return false;
            if (!object.Equals(PosPack, other.PosPack)) return false;
            if (PlayerJob != other.PlayerJob) return false;
            if (PlayerAppearance != other.PlayerAppearance) return false;
            return Equals(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode()
        {
            int hash = 1;
            if (Playername.Length != 0) hash ^= Playername.GetHashCode();
            if (PlayerID.Length != 0) hash ^= PlayerID.GetHashCode();
            if (Hp != 0) hash ^= Hp.GetHashCode();
            if (posPack_ != null) hash ^= PosPack.GetHashCode();
            if (PlayerJob != 0) hash ^= PlayerJob.GetHashCode();
            if (PlayerAppearance.Length != 0) hash ^= PlayerAppearance.GetHashCode();
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return hash;
        }

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output)
        {
            if (Playername.Length != 0)
            {
                output.WriteRawTag(10);
                output.WriteString(Playername);
            }
            if (PlayerID.Length != 0)
            {
                output.WriteRawTag(18);
                output.WriteString(PlayerID);
            }
            if (Hp != 0)
            {
                output.WriteRawTag(24);
                output.WriteInt32(Hp);
            }
            if (posPack_ != null)
            {
                output.WriteRawTag(34);
                output.WriteMessage(PosPack);
            }
            if (PlayerJob != 0)
            {
                output.WriteRawTag(40);
                output.WriteInt32(PlayerJob);
            }
            if (PlayerAppearance.Length != 0)
            {
                output.WriteRawTag(50);
                output.WriteString(PlayerAppearance);
            }
            if (_unknownFields != null)
            {
                _unknownFields.WriteTo(output);
            }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize()
        {
            int size = 0;
            if (Playername.Length != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeStringSize(Playername);
            }
            if (PlayerID.Length != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeStringSize(PlayerID);
            }
            if (Hp != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeInt32Size(Hp);
            }
            if (posPack_ != null)
            {
                size += 1 + pb::CodedOutputStream.ComputeMessageSize(PosPack);
            }
            if (PlayerJob != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerJob);
            }
            if (PlayerAppearance.Length != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeStringSize(PlayerAppearance);
            }
            if (_unknownFields != null)
            {
                size += _unknownFields.CalculateSize();
            }
            return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(PlayerPack other)
        {
            if (other == null)
            {
                return;
            }
            if (other.Playername.Length != 0)
            {
                Playername = other.Playername;
            }
            if (other.PlayerID.Length != 0)
            {
                PlayerID = other.PlayerID;
            }
            if (other.Hp != 0)
            {
                Hp = other.Hp;
            }
            if (other.posPack_ != null)
            {
                if (posPack_ == null)
                {
                    PosPack = new global::SocketGameProtocol.PosPack();
                }
                PosPack.MergeFrom(other.PosPack);
            }
            if (other.PlayerJob != 0)
            {
                PlayerJob = other.PlayerJob;
            }
            if (other.PlayerAppearance.Length != 0)
            {
                PlayerAppearance = other.PlayerAppearance;
            }
            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                    default:
                        _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                        break;
                    case 10:
                        {
                            Playername = input.ReadString();
                            break;
                        }
                    case 18:
                        {
                            PlayerID = input.ReadString();
                            break;
                        }
                    case 24:
                        {
                            Hp = input.ReadInt32();
                            break;
                        }
                    case 34:
                        {
                            if (posPack_ == null)
                            {
                                PosPack = new global::SocketGameProtocol.PosPack();
                            }
                            input.ReadMessage(PosPack);
                            break;
                        }
                    case 40:
                        {
                            PlayerJob = input.ReadInt32();
                            break;
                        }
                    case 50:
                        {
                            PlayerAppearance = input.ReadString();
                            break;
                        }
                }
            }
        }

    }

    public sealed partial class PosPack : pb::IMessage<PosPack>
    {
        private static readonly pb::MessageParser<PosPack> _parser = new pb::MessageParser<PosPack>(() => new PosPack());
        private pb::UnknownFieldSet _unknownFields;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public static pb::MessageParser<PosPack> Parser { get { return _parser; } }

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

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

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

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public PosPack(PosPack other) : this()
        {
            posX_ = other.posX_;
            posY_ = other.posY_;
            posZ_ = other.posZ_;
            rotaX_ = other.rotaX_;
            rotaY_ = other.rotaY_;
            rotaZ_ = other.rotaZ_;
            gunRotZ_ = other.gunRotZ_;
            animation_ = other.animation_;
            dirt_ = other.dirt_;
            moveX_ = other.moveX_;
            moveY_ = other.moveY_;
            moveZ_ = other.moveZ_;
            _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
        }

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

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

        /// <summary>Field number for the "PosY" field.</summary>
        public const int PosYFieldNumber = 2;
        private float posY_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float PosY
        {
            get { return posY_; }
            set
            {
                posY_ = value;
            }
        }

        /// <summary>Field number for the "PosZ" field.</summary>
        public const int PosZFieldNumber = 3;
        private float posZ_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float PosZ
        {
            get { return posZ_; }
            set
            {
                posZ_ = value;
            }
        }

        /// <summary>Field number for the "RotaX" field.</summary>
        public const int RotaXFieldNumber = 4;
        private float rotaX_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float RotaX
        {
            get { return rotaX_; }
            set
            {
                rotaX_ = value;
            }
        }

        /// <summary>Field number for the "RotaY" field.</summary>
        public const int RotaYFieldNumber = 5;
        private float rotaY_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float RotaY
        {
            get { return rotaY_; }
            set
            {
                rotaY_ = value;
            }
        }

        /// <summary>Field number for the "RotaZ" field.</summary>
        public const int RotaZFieldNumber = 6;
        private float rotaZ_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float RotaZ
        {
            get { return rotaZ_; }
            set
            {
                rotaZ_ = value;
            }
        }

        /// <summary>Field number for the "GunRotZ" field.</summary>
        public const int GunRotZFieldNumber = 7;
        private float gunRotZ_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float GunRotZ
        {
            get { return gunRotZ_; }
            set
            {
                gunRotZ_ = value;
            }
        }

        /// <summary>Field number for the "Animation" field.</summary>
        public const int AnimationFieldNumber = 8;
        private int animation_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Animation
        {
            get { return animation_; }
            set
            {
                animation_ = value;
            }
        }

        /// <summary>Field number for the "Dirt" field.</summary>
        public const int DirtFieldNumber = 9;
        private int dirt_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int Dirt
        {
            get { return dirt_; }
            set
            {
                dirt_ = value;
            }
        }

        /// <summary>Field number for the "MoveX" field.</summary>
        public const int MoveXFieldNumber = 10;
        private float moveX_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float MoveX
        {
            get { return moveX_; }
            set
            {
                moveX_ = value;
            }
        }

        /// <summary>Field number for the "MoveY" field.</summary>
        public const int MoveYFieldNumber = 11;
        private float moveY_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float MoveY
        {
            get { return moveY_; }
            set
            {
                moveY_ = value;
            }
        }

        /// <summary>Field number for the "MoveZ" field.</summary>
        public const int MoveZFieldNumber = 12;
        private float moveZ_;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public float MoveZ
        {
            get { return moveZ_; }
            set
            {
                moveZ_ = value;
            }
        }

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public bool Equals(PosPack other)
        {
            if (ReferenceEquals(other, null))
            {
                return false;
            }
            if (ReferenceEquals(other, this))
            {
                return true;
            }
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PosX, other.PosX)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PosY, other.PosY)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(PosZ, other.PosZ)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(RotaX, other.RotaX)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(RotaY, other.RotaY)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(RotaZ, other.RotaZ)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(GunRotZ, other.GunRotZ)) return false;
            if (Animation != other.Animation) return false;
            if (Dirt != other.Dirt) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MoveX, other.MoveX)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MoveY, other.MoveY)) return false;
            if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MoveZ, other.MoveZ)) return false;
            return Equals(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public override int GetHashCode()
        {
            int hash = 1;
            if (PosX != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PosX);
            if (PosY != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PosY);
            if (PosZ != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(PosZ);
            if (RotaX != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RotaX);
            if (RotaY != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RotaY);
            if (RotaZ != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RotaZ);
            if (GunRotZ != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(GunRotZ);
            if (Animation != 0) hash ^= Animation.GetHashCode();
            if (Dirt != 0) hash ^= Dirt.GetHashCode();
            if (MoveX != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MoveX);
            if (MoveY != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MoveY);
            if (MoveZ != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MoveZ);
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return hash;
        }

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

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void WriteTo(pb::CodedOutputStream output)
        {
            if (PosX != 0F)
            {
                output.WriteRawTag(13);
                output.WriteFloat(PosX);
            }
            if (PosY != 0F)
            {
                output.WriteRawTag(21);
                output.WriteFloat(PosY);
            }
            if (PosZ != 0F)
            {
                output.WriteRawTag(29);
                output.WriteFloat(PosZ);
            }
            if (RotaX != 0F)
            {
                output.WriteRawTag(37);
                output.WriteFloat(RotaX);
            }
            if (RotaY != 0F)
            {
                output.WriteRawTag(45);
                output.WriteFloat(RotaY);
            }
            if (RotaZ != 0F)
            {
                output.WriteRawTag(53);
                output.WriteFloat(RotaZ);
            }
            if (GunRotZ != 0F)
            {
                output.WriteRawTag(61);
                output.WriteFloat(GunRotZ);
            }
            if (Animation != 0)
            {
                output.WriteRawTag(64);
                output.WriteInt32(Animation);
            }
            if (Dirt != 0)
            {
                output.WriteRawTag(72);
                output.WriteInt32(Dirt);
            }
            if (MoveX != 0F)
            {
                output.WriteRawTag(85);
                output.WriteFloat(MoveX);
            }
            if (MoveY != 0F)
            {
                output.WriteRawTag(93);
                output.WriteFloat(MoveY);
            }
            if (MoveZ != 0F)
            {
                output.WriteRawTag(101);
                output.WriteFloat(MoveZ);
            }
            if (_unknownFields != null)
            {
                _unknownFields.WriteTo(output);
            }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public int CalculateSize()
        {
            int size = 0;
            if (PosX != 0F)
            {
                size += 1 + 4;
            }
            if (PosY != 0F)
            {
                size += 1 + 4;
            }
            if (PosZ != 0F)
            {
                size += 1 + 4;
            }
            if (RotaX != 0F)
            {
                size += 1 + 4;
            }
            if (RotaY != 0F)
            {
                size += 1 + 4;
            }
            if (RotaZ != 0F)
            {
                size += 1 + 4;
            }
            if (GunRotZ != 0F)
            {
                size += 1 + 4;
            }
            if (Animation != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeInt32Size(Animation);
            }
            if (Dirt != 0)
            {
                size += 1 + pb::CodedOutputStream.ComputeInt32Size(Dirt);
            }
            if (MoveX != 0F)
            {
                size += 1 + 4;
            }
            if (MoveY != 0F)
            {
                size += 1 + 4;
            }
            if (MoveZ != 0F)
            {
                size += 1 + 4;
            }
            if (_unknownFields != null)
            {
                size += _unknownFields.CalculateSize();
            }
            return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(PosPack other)
        {
            if (other == null)
            {
                return;
            }
            if (other.PosX != 0F)
            {
                PosX = other.PosX;
            }
            if (other.PosY != 0F)
            {
                PosY = other.PosY;
            }
            if (other.PosZ != 0F)
            {
                PosZ = other.PosZ;
            }
            if (other.RotaX != 0F)
            {
                RotaX = other.RotaX;
            }
            if (other.RotaY != 0F)
            {
                RotaY = other.RotaY;
            }
            if (other.RotaZ != 0F)
            {
                RotaZ = other.RotaZ;
            }
            if (other.GunRotZ != 0F)
            {
                GunRotZ = other.GunRotZ;
            }
            if (other.Animation != 0)
            {
                Animation = other.Animation;
            }
            if (other.Dirt != 0)
            {
                Dirt = other.Dirt;
            }
            if (other.MoveX != 0F)
            {
                MoveX = other.MoveX;
            }
            if (other.MoveY != 0F)
            {
                MoveY = other.MoveY;
            }
            if (other.MoveZ != 0F)
            {
                MoveZ = other.MoveZ;
            }
            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                    default:
                        _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                        break;
                    case 13:
                        {
                            PosX = input.ReadFloat();
                            break;
                        }
                    case 21:
                        {
                            PosY = input.ReadFloat();
                            break;
                        }
                    case 29:
                        {
                            PosZ = input.ReadFloat();
                            break;
                        }
                    case 37:
                        {
                            RotaX = input.ReadFloat();
                            break;
                        }
                    case 45:
                        {
                            RotaY = input.ReadFloat();
                            break;
                        }
                    case 53:
                        {
                            RotaZ = input.ReadFloat();
                            break;
                        }
                    case 61:
                        {
                            GunRotZ = input.ReadFloat();
                            break;
                        }
                    case 64:
                        {
                            Animation = input.ReadInt32();
                            break;
                        }
                    case 72:
                        {
                            Dirt = input.ReadInt32();
                            break;
                        }
                    case 85:
                        {
                            MoveX = input.ReadFloat();
                            break;
                        }
                    case 93:
                        {
                            MoveY = input.ReadFloat();
                            break;
                        }
                    case 101:
                        {
                            MoveZ = input.ReadFloat();
                            break;
                        }
                }
            }
        }

    }

    #endregion

}

#endregion Designer generated code
