/*-----------------------------------------------
 *本文件由代码生成器自动生成,
 *千万不要修改本文件的任何代码,
 *修改的的任何代码都会被覆盖掉!
 --------------------------------------------------*/

using System.IO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Pomelo.DotNetClient;

namespace pomelo.area
{
	public class AnimaInscriptionHandler
	{
		private PomeloClient _socket;

		public AnimaInfoResponse lastAnimaInfoResponse { get { return _socket.GetLastResponse<AnimaInfoResponse>(); } }
		public AnimaUpgradeResponse lastAnimaUpgradeResponse { get { return _socket.GetLastResponse<AnimaUpgradeResponse>(); } }
		public AnimaLuckyResponse lastAnimaLuckyResponse { get { return _socket.GetLastResponse<AnimaLuckyResponse>(); } }
		public AnimaInscriptionInfoResponse lastAnimaInscriptionInfoResponse { get { return _socket.GetLastResponse<AnimaInscriptionInfoResponse>(); } }
		public AnimaInscriptionUpgradeResponse lastAnimaInscriptionUpgradeResponse { get { return _socket.GetLastResponse<AnimaInscriptionUpgradeResponse>(); } }
		public AnimaInscriptionEquipResponse lastAnimaInscriptionEquipResponse { get { return _socket.GetLastResponse<AnimaInscriptionEquipResponse>(); } }
		public AnimaInscriptionDownResponse lastAnimaInscriptionDownResponse { get { return _socket.GetLastResponse<AnimaInscriptionDownResponse>(); } }
		public AnimaInscriptionUpgradeOneKeyResponse lastAnimaInscriptionUpgradeOneKeyResponse { get { return _socket.GetLastResponse<AnimaInscriptionUpgradeOneKeyResponse>(); } }
		public AnimaSevenStarResponse lastAnimaSevenStarResponse { get { return _socket.GetLastResponse<AnimaSevenStarResponse>(); } }
		public AnimaLingZhuInfoResponse lastAnimaLingZhuInfoResponse { get { return _socket.GetLastResponse<AnimaLingZhuInfoResponse>(); } }
		public AnimaLingZhuUpgradeResponse lastAnimaLingZhuUpgradeResponse { get { return _socket.GetLastResponse<AnimaLingZhuUpgradeResponse>(); } }
		public AnimaGongFaInfoResponse lastAnimaGongFaInfoResponse { get { return _socket.GetLastResponse<AnimaGongFaInfoResponse>(); } }
		public AnimaGongFaStudyResponse lastAnimaGongFaStudyResponse { get { return _socket.GetLastResponse<AnimaGongFaStudyResponse>(); } }
		public AnimaGongFaUpgradeResponse lastAnimaGongFaUpgradeResponse { get { return _socket.GetLastResponse<AnimaGongFaUpgradeResponse>(); } }
		static AnimaInscriptionHandler()
		{
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaInfoRequest", typeof(AnimaInfoRequest), typeof(AnimaInfoResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaUpgradeRequest", typeof(AnimaUpgradeRequest), typeof(AnimaUpgradeResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaLuckyRequest", typeof(AnimaLuckyRequest), typeof(AnimaLuckyResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaInscriptionInfoRequest", typeof(AnimaInscriptionInfoRequest), typeof(AnimaInscriptionInfoResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaInscriptionUpgradeRequest", typeof(AnimaInscriptionUpgradeRequest), typeof(AnimaInscriptionUpgradeResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaInscriptionEquipRequest", typeof(AnimaInscriptionEquipRequest), typeof(AnimaInscriptionEquipResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaInscriptionDownRequest", typeof(AnimaInscriptionDownRequest), typeof(AnimaInscriptionDownResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaInscriptionUpgradeOneKeyRequest", typeof(AnimaInscriptionUpgradeOneKeyRequest), typeof(AnimaInscriptionUpgradeOneKeyResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaSevenStarRequest", typeof(AnimaSevenStarRequest), typeof(AnimaSevenStarResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaLingZhuInfoRequest", typeof(AnimaLingZhuInfoRequest), typeof(AnimaLingZhuInfoResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaLingZhuUpgradeRequest", typeof(AnimaLingZhuUpgradeRequest), typeof(AnimaLingZhuUpgradeResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaGongFaInfoRequest", typeof(AnimaGongFaInfoRequest), typeof(AnimaGongFaInfoResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaGongFaStudyRequest", typeof(AnimaGongFaStudyRequest), typeof(AnimaGongFaStudyResponse));
			EventTypes.RegistRequestType("area.animaInscriptionHandler.animaGongFaUpgradeRequest", typeof(AnimaGongFaUpgradeRequest), typeof(AnimaGongFaUpgradeResponse));
		}
		public AnimaInscriptionHandler(PomeloClient socket)
		{
			this._socket = socket;

		}
		public void animaInfoRequest(Action<PomeloException,AnimaInfoResponse> cb,object option = null)
		{
			var request = new AnimaInfoRequest();
			_socket.request<AnimaInfoResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaInfoResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaUpgradeRequest(Action<PomeloException,AnimaUpgradeResponse> cb,object option = null)
		{
			var request = new AnimaUpgradeRequest();
			_socket.request<AnimaUpgradeResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaUpgradeResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaLuckyRequest(Action<PomeloException,AnimaLuckyResponse> cb,object option = null)
		{
			var request = new AnimaLuckyRequest();
			_socket.request<AnimaLuckyResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaLuckyResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaInscriptionInfoRequest(Action<PomeloException,AnimaInscriptionInfoResponse> cb,object option = null)
		{
			var request = new AnimaInscriptionInfoRequest();
			_socket.request<AnimaInscriptionInfoResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaInscriptionInfoResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaInscriptionUpgradeRequest(string code,List<pomelo.area.AnimaUpgradeReqInfo> destroyedInfo,Action<PomeloException,AnimaInscriptionUpgradeResponse> cb,object option = null)
		{
			var request = new AnimaInscriptionUpgradeRequest();
			request.code= code;
			request.destroyedInfo.AddRange(destroyedInfo);
			_socket.request<AnimaInscriptionUpgradeResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaInscriptionUpgradeResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaInscriptionEquipRequest(int equipIndex,int girdIndex,Action<PomeloException,AnimaInscriptionEquipResponse> cb,object option = null)
		{
			var request = new AnimaInscriptionEquipRequest();
			request.equipIndex= equipIndex;
			request.girdIndex= girdIndex;
			_socket.request<AnimaInscriptionEquipResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaInscriptionEquipResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaInscriptionDownRequest(int equipIndex,Action<PomeloException,AnimaInscriptionDownResponse> cb,object option = null)
		{
			var request = new AnimaInscriptionDownRequest();
			request.equipIndex= equipIndex;
			_socket.request<AnimaInscriptionDownResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaInscriptionDownResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaInscriptionUpgradeOneKeyRequest(string code,Action<PomeloException,AnimaInscriptionUpgradeOneKeyResponse> cb,object option = null)
		{
			var request = new AnimaInscriptionUpgradeOneKeyRequest();
			request.code= code;
			_socket.request<AnimaInscriptionUpgradeOneKeyResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaInscriptionUpgradeOneKeyResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaSevenStarRequest(Action<PomeloException,AnimaSevenStarResponse> cb,object option = null)
		{
			var request = new AnimaSevenStarRequest();
			_socket.request<AnimaSevenStarResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaSevenStarResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaLingZhuInfoRequest(Action<PomeloException,AnimaLingZhuInfoResponse> cb,object option = null)
		{
			var request = new AnimaLingZhuInfoRequest();
			_socket.request<AnimaLingZhuInfoResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaLingZhuInfoResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaLingZhuUpgradeRequest(int zhu_index,Action<PomeloException,AnimaLingZhuUpgradeResponse> cb,object option = null)
		{
			var request = new AnimaLingZhuUpgradeRequest();
			request.zhu_index= zhu_index;
			_socket.request<AnimaLingZhuUpgradeResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaLingZhuUpgradeResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaGongFaInfoRequest(int index,Action<PomeloException,AnimaGongFaInfoResponse> cb,object option = null)
		{
			var request = new AnimaGongFaInfoRequest();
			request.index= index;
			_socket.request<AnimaGongFaInfoResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaGongFaInfoResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaGongFaStudyRequest(int gong_index,int bag_pos,Action<PomeloException,AnimaGongFaStudyResponse> cb,object option = null)
		{
			var request = new AnimaGongFaStudyRequest();
			request.gong_index= gong_index;
			request.bag_pos= bag_pos;
			_socket.request<AnimaGongFaStudyResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaGongFaStudyResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}
		public void animaGongFaUpgradeRequest(string gpid,Action<PomeloException,AnimaGongFaUpgradeResponse> cb,object option = null)
		{
			var request = new AnimaGongFaUpgradeRequest();
			request.gpid= gpid;
			_socket.request<AnimaGongFaUpgradeResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
				var rsp = msg as AnimaGongFaUpgradeResponse;
				s2c_code = rsp.s2c_code;
				s2c_msg = rsp.s2c_msg;
				return s2c_code == 200;
			}, cb, option);

		}

	}


}