summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_DrawLottery.cs
blob: 529c4c61ca0c868640bf01198adedb2315f3f718 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Reflection;
using KKSG;
using XMainClient.UI;
using XUtliPoolLib;

namespace XMainClient
{
	internal class Process_RpcC2G_DrawLottery
	{
		public static void OnReply(DrawLotteryArg oArg, DrawLotteryRes oRes)
		{
			bool flag = oRes.errorcode == ErrorCode.ERR_INVALID_REQUEST;
			if (flag)
			{
				string fullName = MethodBase.GetCurrentMethod().ReflectedType.FullName;
				XSingleton<UiUtility>.singleton.OnGetInvalidRequest(fullName);
			}
			else
			{
				bool flag2 = oRes.errorcode == ErrorCode.ERR_SPRITE_INFIGHT_SAMETYPE;
				if (flag2)
				{
					XSingleton<UiUtility>.singleton.ShowErrorCode(oRes.errorcode);
				}
				else
				{
					bool flag3 = oRes.Items.Count == 0;
					if (flag3)
					{
						LotteryType type = (LotteryType)oArg.type;
						if (type - LotteryType.Sprite_Draw_One > 1)
						{
							if (type - LotteryType.Sprite_GoldDraw_One <= 1)
							{
								string[] array = XSingleton<XGlobalConfig>.singleton.GetValue("SpriteGoldDrawCost").Split(XGlobalConfig.SequenceSeparator);
								XSingleton<UiUtility>.singleton.ShowSystemTip(XStringDefineProxy.GetString("SpriteLotteryEggNotEnough"), "fece00");
								bool flag4 = array.Length != 0;
								if (flag4)
								{
									XSingleton<UiUtility>.singleton.ShowItemAccess(int.Parse(array[0]), null);
								}
							}
						}
						else
						{
							string[] array2 = XSingleton<XGlobalConfig>.singleton.GetValue("SpriteDrawCost").Split(XGlobalConfig.SequenceSeparator);
							XSingleton<UiUtility>.singleton.ShowSystemTip(XStringDefineProxy.GetString("SpriteLotteryEggNotEnough"), "fece00");
							bool flag5 = array2.Length != 0;
							if (flag5)
							{
								XSingleton<UiUtility>.singleton.ShowItemAccess(int.Parse(array2[0]), null);
							}
						}
					}
					else
					{
						XSpriteSystemDocument specificDocument = XDocuments.GetSpecificDocument<XSpriteSystemDocument>(XSpriteSystemDocument.uuID);
						specificDocument.SetLotteryData(oRes.nextgoodcount);
						specificDocument.SetLotteryResultData(oRes.Items, oRes.spriteppt, (LotteryType)oArg.type);
					}
				}
				XSingleton<XDebug>.singleton.AddLog("recv draw lottery result!", null, null, null, null, null, XDebugColor.XDebug_None);
			}
		}

		public static void OnTimeout(DrawLotteryArg oArg)
		{
		}
	}
}