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

namespace MSG_WorldSupport
{
    public partial class ReqWorldSupport : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 522201;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                ProtoBufUtils.WriteInt32(1,bossId);
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
             bossId = 0;
        }
        public int bossId;
    }
    public partial class ResNewWorldSupportInfo : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResNewWorldSupportInfo(this);
        }
    
        public const uint MsgID = 522101;
        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)
                    {
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ReqOpenWorldSupportPanel : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 522202;
        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 worldSupportInfo : 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 :
                        supportId = ProtoBufUtils.ReadInt64(ref readPos);
                        break;
                    case 2 :
                        roleId = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 3 :
                        roleName = ProtoBufUtils.ReadString(ref readPos);
                        break;
                    case 4 :
                        career = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 5 :
                        lv = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 6 :
                        bossId = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 7 :
                        supportNum = 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);
                ProtoBufUtils.WriteInt64(1,supportId);
                ProtoBufUtils.WriteInt32(2,roleId);
                ProtoBufUtils.WriteString(3,roleName);
                ProtoBufUtils.WriteInt32(4,career);
                ProtoBufUtils.WriteInt32(5,lv);
                ProtoBufUtils.WriteInt32(6,bossId);
                ProtoBufUtils.WriteInt32(7,supportNum);
            ProtoBufUtils.SetVEndIndex(subItemInfoId);
            return ProtoBufUtils.CheckAndSetLength(subItemInfoId);
        }
        public void Clear()
        {
             supportId = 0;
             roleId = 0;
             roleName = null;
             career = 0;
             lv = 0;
             bossId = 0;
             supportNum = 0;
        }
        public long supportId;
        public int roleId;
        public string roleName;
        public int career;
        public int lv;
        public int bossId;
        public int supportNum;
    }
    public partial class ResOpenWorldSupportPannel : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResOpenWorldSupportPannel(this);
        }
    
        public const uint MsgID = 522102;
        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(info == null)
                        {
                          info = new List<worldSupportInfo>();
                        }
                        info.Add(new worldSupportInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        info[info.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        case 2:
                        reputation = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 3:
                        maxReputation = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             if(info != null)
             {
                info.Clear();
             }
             reputation = 0;
             maxReputation = 0;
        }
        public List<worldSupportInfo> info =  new List<worldSupportInfo>();
        public int reputation;
        public int maxReputation;
    }
    public partial class ReqToWorldSupport : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 522203;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                ProtoBufUtils.WriteInt64(1,supportId);
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
             supportId = 0;
        }
        public long supportId;
    }
    public partial class ResWorldSupporting : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResWorldSupporting(this);
        }
    
        public const uint MsgID = 522103;
        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)
                    {
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
        }
    }
    public partial class ReqCancelSupport : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 522204;
        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 supportRoleInfo : 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 :
                        roleId = ProtoBufUtils.ReadInt64(ref readPos);
                        break;
                    case 2 :
                        roleName = ProtoBufUtils.ReadString(ref readPos);
                        break;
                    case 3 :
                        career = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 4 :
                        lv = ProtoBufUtils.ReadInt32(ref readPos);
                        break;
                    case 5 :
                        isFriend = ProtoBufUtils.ReadBoolean(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);
                ProtoBufUtils.WriteInt64(1,roleId);
                ProtoBufUtils.WriteString(2,roleName);
                ProtoBufUtils.WriteInt32(3,career);
                ProtoBufUtils.WriteInt32(4,lv);
                ProtoBufUtils.WriteBoolean(5,isFriend);
            ProtoBufUtils.SetVEndIndex(subItemInfoId);
            return ProtoBufUtils.CheckAndSetLength(subItemInfoId);
        }
        public void Clear()
        {
             roleId = 0;
             roleName = null;
             career = 0;
             lv = 0;
             isFriend = false;
        }
        public long roleId;
        public string roleName;
        public int career;
        public int lv;
        public bool isFriend;
    }
    public partial class ResToThankSupport : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResToThankSupport(this);
        }
    
        public const uint MsgID = 522104;
        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:
                        bossId = ProtoBufUtils.ReadInt32(ref readPos);
                            break;
                        case 2:
                        if(roles == null)
                        {
                          roles = new List<supportRoleInfo>();
                        }
                        roles.Add(new supportRoleInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        roles[roles.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        case 3:
                        supportId = ProtoBufUtils.ReadInt64(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             bossId = 0;
             if(roles != null)
             {
                roles.Clear();
             }
             supportId = 0;
        }
        public int bossId;
        public List<supportRoleInfo> roles =  new List<supportRoleInfo>();
        public long supportId;
    }
    public partial class ReqThankSupport : ProtoBuf.IExtensible, ProtoBuf.IReqMessage
    {
    
        public const uint MsgID = 522205;
        public void Excute(){}
        public void Send()
        {
            lock (ProtoBufUtils.WriteLocker)
            {
                byte[] bytes = null;
                ProtoBufUtils.InitWriteData();
                ProtoBufUtils.WriteInt64(1,supportId);
                ProtoBufUtils.WriteString(2,messageStr);
                bytes = ProtoBufUtils.GetData();
                Thousandto.Plugins.Common.Networker.Instance.Send(bytes, MsgID);
            }
        }
        public void Clear()
        {
             supportId = 0;
             messageStr = null;
        }
        public long supportId;
        public string messageStr;
    }
    public partial class ResThankMessageInfo : ProtoBuf.IExtensible, ProtoBuf.IResMessage
    {
        public void Excute()
        {
			HandleMsgResult.getInstance().GS2U_ResThankMessageInfo(this);
        }
    
        public const uint MsgID = 522105;
        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(info == null)
                        {
                          info = new supportRoleInfo();
                        }
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        info.ReadMessage(ref readPos, totalCount);
                            break;
                        case 2:
                        if(item == null)
                        {
                          item = new List<MSG_backpack.ItemInfo>();
                        }
                        item.Add(new MSG_backpack.ItemInfo());
                        totalCount = ProtoBufUtils.ReadInt32(ref readPos);
                        item[item.Count - 1].ReadMessage(ref readPos, totalCount);
                            break;
                        case 3:
                        messageStr = ProtoBufUtils.ReadString(ref readPos);
                            break;
                        default:
                            break;
                    }
                }
            }
        }
        public void Clear()
        {
             if(info != null)
             {
                info.Clear();
             }
             if(item != null)
             {
                item.Clear();
             }
             messageStr = null;
        }
        public supportRoleInfo info;
        public List<MSG_backpack.ItemInfo> item =  new List<MSG_backpack.ItemInfo>();
        public string messageStr;
    }
}