using System.Collections.Generic;
using Thousandto.Plugins.Common;
using Thousandto.Code.Logic.Network;

namespace MSG_HuaxinFlySword
{
    public partial class huaxinInfo : ProtoBuf.IMessageInfo, ProtoBuf.IExtensible
    {
        public void Send(){}
        public void Excute(){}
        public void ReadMessage(ref int readPos, int totalCount)
        {
            int endIndex = totalCount + readPos - 1;
            while (readPos <= endIndex)
            {
                int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                switch (fieldNumber)
                {
                    case 1 :
                        if(modelID == null)
                        {
                          modelID = new List<int>();
                        }
                        modelID.Add(ProtoBufUtils.ReadInt32(ref readPos));
                        break;
                    case 2 :
                        starLevel = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 3 :
                        steps = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 4 :
                        type = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    default:
                        break;
                }
            }
        }
        public int WriteMessage(int fieldNumber)
        {
            ProtoBufUtils.WriteHeader(fieldNumber, ProtoBuf.WireType.String);
            int subItemInfoId = ProtoBufUtils.GetSubItemInfoId();
            ProtoBufUtils.SetEmptyLength(subItemInfoId);
            ProtoBufUtils.SetVBeginIndex(subItemInfoId);
                for (int i = 0; i < modelID.Count; i++)
                {
                    ProtoBufUtils.WriteInt32(1,modelID[i]);
                    }
                ProtoBufUtils.WriteInt32(2,starLevel);
                ProtoBufUtils.WriteInt32(3,steps);
                ProtoBufUtils.WriteInt32(4,type);
            ProtoBufUtils.SetVEndIndex(subItemInfoId);
            return ProtoBufUtils.CheckAndSetLength(subItemInfoId);
        }
        public void Clear()
        {
             if(modelID != null)
             {
                modelID.Clear();
             }
             starLevel = 0;
             steps = 0;
             type = 0;
        }
        public List<int> modelID =  new List<int>();
        public int starLevel;
        public int steps;
        public int type;
    }
    public partial class ResOnlineInitHuaxin : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResOnlineInitHuaxin(this);
        }
    
        public const uint MsgID = 529101;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        if(huaxinList == null)
                        {
                          huaxinList = new List<huaxinInfo>();
                        }
                        huaxinList.Add(new huaxinInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        huaxinList[huaxinList.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        case 2:
                        curUseFlysword = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             if(huaxinList != null)
             {
                huaxinList.Clear();
             }
             curUseFlysword = 0;
        }
        public List<huaxinInfo> huaxinList =  new List<huaxinInfo>();
        public int curUseFlysword;
    }
    public partial class ReqUseHuxin : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529201;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                ProtoBufUtils.WriteInt32(1,huaxinID);
                ProtoBufUtils.WriteInt32(2,type);
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
             huaxinID = 0;
             type = 0;
        }
        public int huaxinID;
        public int type;
    }
    public partial class ResUseHuxinResult : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResUseHuxinResult(this);
        }
    
        public const uint MsgID = 529102;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        curUseFlysword = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        type = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             curUseFlysword = 0;
             type = 0;
        }
        public int curUseFlysword;
        public int type;
    }
    public partial class ReqSwordSoulPannel : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529202;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ResSwordSoulPannel : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSwordSoulPannel(this);
        }
    
        public const uint MsgID = 529103;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        layer = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        hookTime = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 3:
                        maxCount = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 4:
                        remainCount = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             layer = 0;
             hookTime = 0;
             maxCount = 0;
             remainCount = 0;
        }
        public int layer;
        public int hookTime;
        public int maxCount;
        public int remainCount;
    }
    public partial class ReqGetHookReward : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529203;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ResGetHookReward : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResGetHookReward(this);
        }
    
        public const uint MsgID = 529104;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        if(itemList == null)
                        {
                          itemList = new List<MSG_copyMap.cardItemInfo>();
                        }
                        itemList.Add(new MSG_copyMap.cardItemInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        itemList[itemList.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        case 2:
                        hookTime = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             if(itemList != null)
             {
                itemList.Clear();
             }
             hookTime = 0;
        }
        public List<MSG_copyMap.cardItemInfo> itemList =  new List<MSG_copyMap.cardItemInfo>();
        public int hookTime;
    }
    public partial class ReqSoulCopyGoOnChallenge : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529204;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ResSoulCopyChallengeInfo : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSoulCopyChallengeInfo(this);
        }
    
        public const uint MsgID = 529105;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        challengeLevel = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        endTime = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 3:
                        refresh = ProtoBufUtils.ReadBoolean(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             challengeLevel = 0;
             endTime = 0;
             refresh = false;
        }
        public int challengeLevel;
        public int endTime;
        public bool refresh;
    }
    public partial class ResSoulCopyResult : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSoulCopyResult(this);
        }
    
        public const uint MsgID = 529106;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        success = ProtoBufUtils.ReadBoolean(ref readPos);
                            break;
                        case 2:
                        if(itemList == null)
                        {
                          itemList = new List<MSG_copyMap.cardItemInfo>();
                        }
                        itemList.Add(new MSG_copyMap.cardItemInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        itemList[itemList.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             success = false;
             if(itemList != null)
             {
                itemList.Clear();
             }
        }
        public bool success;
        public List<MSG_copyMap.cardItemInfo> itemList =  new List<MSG_copyMap.cardItemInfo>();
    }
    public partial class ReqQuickEarn : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529205;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ResQuickEarn : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResQuickEarn(this);
        }
    
        public const uint MsgID = 529107;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        remainCount = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        if(itemList == null)
                        {
                          itemList = new List<MSG_copyMap.cardItemInfo>();
                        }
                        itemList.Add(new MSG_copyMap.cardItemInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        itemList[itemList.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             remainCount = 0;
             if(itemList != null)
             {
                itemList.Clear();
             }
        }
        public int remainCount;
        public List<MSG_copyMap.cardItemInfo> itemList =  new List<MSG_copyMap.cardItemInfo>();
    }
    public partial class ReqSkipSoulCopy : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529208;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ResSkipSoulCopyResult : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSkipSoulCopyResult(this);
        }
    
        public const uint MsgID = 529121;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        layer = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        if(itemList == null)
                        {
                          itemList = new List<MSG_copyMap.cardItemInfo>();
                        }
                        itemList.Add(new MSG_copyMap.cardItemInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        itemList[itemList.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             layer = 0;
             if(itemList != null)
             {
                itemList.Clear();
             }
        }
        public int layer;
        public List<MSG_copyMap.cardItemInfo> itemList =  new List<MSG_copyMap.cardItemInfo>();
    }
    public partial class ReqSwordTombPannel : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529206;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ReqSwordTombWakeUp : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 529207;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                ProtoBufUtils.WriteInt32(1,id);
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
             id = 0;
        }
        public int id;
    }
    public partial class ResSwordTomb : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSwordTomb(this);
        }
    
        public const uint MsgID = 529108;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        if(id == null)
                        {
                          id = new List<int>();
                        }
                        id.Add(ProtoBufUtils.ReadInt32(ref readPos));
                            break;
                        case 2:
                        if(state == null)
                        {
                          state = new List<int>();
                        }
                        state.Add(ProtoBufUtils.ReadInt32(ref readPos));
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             if(id != null)
             {
                id.Clear();
             }
             if(state != null)
             {
                state.Clear();
             }
        }
        public List<int> id =  new List<int>();
        public List<int> state =  new List<int>();
    }
    public partial class ResSwordTombCopyInfo : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSwordTombCopyInfo(this);
        }
    
        public const uint MsgID = 529109;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        id = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        startTime = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 3:
                        endTime = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             id = 0;
             startTime = 0;
             endTime = 0;
        }
        public int id;
        public int startTime;
        public int endTime;
    }
    public partial class ResSwordTombResult : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSwordTombResult(this);
        }
    
        public const uint MsgID = 529110;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        success = ProtoBufUtils.ReadBoolean(ref readPos);
                            break;
                        case 2:
                        if(itemList == null)
                        {
                          itemList = new List<MSG_copyMap.cardItemInfo>();
                        }
                        itemList.Add(new MSG_copyMap.cardItemInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        itemList[itemList.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             success = false;
             if(itemList != null)
             {
                itemList.Clear();
             }
        }
        public bool success;
        public List<MSG_copyMap.cardItemInfo> itemList =  new List<MSG_copyMap.cardItemInfo>();
    }
    public partial class ResSwordTombChange : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResSwordTombChange(this);
        }
    
        public const uint MsgID = 529111;
        public void Send(){}
        public void ReadMessage(byte[] bytes)
        {
            lock (ProtoBufUtils.ReadLocker)
            {
                Clear();
                int endIndex = bytes.Length - 1;
                int readPos = 0;
                int totalCount = 0;
                ProtoBufUtils.InitReadData(bytes, ref readPos);
                while (readPos <= endIndex)
                {
                    int curType = bytes[readPos] & 7;
                    int fieldNumber = ProtoBufUtils.ReadFieldNumber(ref readPos);
                    switch (fieldNumber)
                    {
                        case 1:
                        id = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        state = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             id = 0;
             state = 0;
        }
        public int id;
        public int state;
    }
}