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

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

namespace pomelo.lottery
{
	public class LotteryHandler
	{
		private PomeloClient _socket;

		public GetLotteryInfoResponse lastGetLotteryInfoResponse { get { return _socket.GetLastResponse<GetLotteryInfoResponse>(); } }
		public LotteryResponse lastLotteryResponse { get { return _socket.GetLastResponse<LotteryResponse>(); } }
		static LotteryHandler()
		{
			EventTypes.RegistRequestType("lottery.lotteryHandler.getLotteryInfoRequest", typeof(GetLotteryInfoRequest), typeof(GetLotteryInfoResponse));
			EventTypes.RegistRequestType("lottery.lotteryHandler.lotteryRequest", typeof(LotteryRequest), typeof(LotteryResponse));
		}
		public LotteryHandler(PomeloClient socket)
		{
			this._socket = socket;

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

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

		}

	}


}