summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/XBattleFieldEntranceDocument.cs
blob: 2334750ac16f2b7bcd2709b02e5e0d8134a5db71 (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
using System;
using System.Collections.Generic;
using KKSG;
using XMainClient.UI;
using XMainClient.UI.UICommon;
using XUtliPoolLib;

namespace XMainClient
{
	internal class XBattleFieldEntranceDocument : XDocComponent
	{
		public override uint ID
		{
			get
			{
				return XBattleFieldEntranceDocument.uuID;
			}
		}

		public static XBattleFieldEntranceDocument Doc
		{
			get
			{
				return XSingleton<XGame>.singleton.Doc.GetXComponent(XBattleFieldEntranceDocument.uuID) as XBattleFieldEntranceDocument;
			}
		}

		public new static readonly uint uuID = XSingleton<XCommon>.singleton.XHash("XBattleFieldEntranceDocument");

		public static XTableAsyncLoader AsyncLoader = new XTableAsyncLoader();

		private static BattleFieldPointReward _PointRewardTable = new BattleFieldPointReward();

		private List<BattleFieldPointReward.RowData> CurPointRewardList = new List<BattleFieldPointReward.RowData>();

		private XBetterDictionary<uint, uint> CurPointRewardGetCount = new XBetterDictionary<uint, uint>(0);

		public bool MainInterfaceState = false;

		protected override void OnReconnected(XReconnectedEventArgs arg)
		{
		}

		public static void Execute(OnLoadedCallback callback = null)
		{
			XBattleFieldEntranceDocument.AsyncLoader.AddTask("Table/BattleFieldPointReward", XBattleFieldEntranceDocument._PointRewardTable, false);
			XBattleFieldEntranceDocument.AsyncLoader.Execute(callback);
		}

		public List<BattleFieldPointReward.RowData> GetPointRewardList()
		{
			uint level = XSingleton<XAttributeMgr>.singleton.XPlayerData.Level;
			this.CurPointRewardList.Clear();
			for (int i = 0; i < XBattleFieldEntranceDocument._PointRewardTable.Table.Length; i++)
			{
				bool flag = (long)XBattleFieldEntranceDocument._PointRewardTable.Table[i].levelrange[0] <= (long)((ulong)level) && (ulong)level <= (ulong)((long)XBattleFieldEntranceDocument._PointRewardTable.Table[i].levelrange[1]);
				if (flag)
				{
					this.CurPointRewardList.Add(XBattleFieldEntranceDocument._PointRewardTable.Table[i]);
				}
			}
			return this.CurPointRewardList;
		}

		public BattleFieldPointReward.RowData GetCurPointRewardList(uint id)
		{
			for (int i = 0; i < XBattleFieldEntranceDocument._PointRewardTable.Table.Length; i++)
			{
				bool flag = XBattleFieldEntranceDocument._PointRewardTable.Table[i].id == id;
				if (flag)
				{
					return XBattleFieldEntranceDocument._PointRewardTable.Table[i];
				}
			}
			XSingleton<XDebug>.singleton.AddErrorLog("BattleFieldPointReward.RowData No Find id:" + id, null, null, null, null, null);
			return null;
		}

		public void ReqPointRewardInfo()
		{
			RpcC2G_BattleFieldAwardNumReq rpc = new RpcC2G_BattleFieldAwardNumReq();
			XSingleton<XClientNetwork>.singleton.Send(rpc);
		}

		public void SetPointRewardRemainCount(BattleFieldAwardNumRes oRes)
		{
			this.CurPointRewardGetCount.Clear();
			for (int i = 0; i < oRes.award.Count; i++)
			{
				this.CurPointRewardGetCount[oRes.award[i].id] = oRes.award[i].count;
			}
			bool flag = DlgBase<BattleFieldEntranceView, BattleFieldEntranceBehaviour>.singleton._PointRewardHandler != null && DlgBase<BattleFieldEntranceView, BattleFieldEntranceBehaviour>.singleton._PointRewardHandler.Sys == XSysDefine.XSys_Battlefield;
			if (flag)
			{
				DlgBase<BattleFieldEntranceView, BattleFieldEntranceBehaviour>.singleton._PointRewardHandler.RefreshList(true);
			}
		}

		public uint GetPointRewardGetCount(uint id)
		{
			for (int i = 0; i < this.CurPointRewardGetCount.BufferKeys.Count; i++)
			{
				bool flag = this.CurPointRewardGetCount.BufferKeys[i] == id;
				if (flag)
				{
					return this.CurPointRewardGetCount.BufferValues[i];
				}
			}
			return 0u;
		}

		public void ReqJoin()
		{
			RpcC2M_EnterBattleReadyScene rpc = new RpcC2M_EnterBattleReadyScene();
			XSingleton<XClientNetwork>.singleton.Send(rpc);
		}

		public void SetMainInterfaceBtnState(bool state)
		{
			this.MainInterfaceState = state;
			DlgBase<XMainInterface, XMainInterfaceBehaviour>.singleton.RefreshH5ButtonState(XSysDefine.XSys_Battlefield, true);
		}
	}
}