summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/XBattleFieldBattleDocument.cs
blob: e7adc364f20c76b2d694e7dd8651f9e22ae72380 (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
125
126
127
128
129
using System;
using KKSG;
using XMainClient.UI;
using XMainClient.UI.UICommon;
using XUtliPoolLib;

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

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

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

		public XBetterDictionary<ulong, string> userIdToRole = new XBetterDictionary<ulong, string>(0);

		public BattleFieldBattleHandler battleHandler = null;

		public static readonly int BATTLE_SHOW_RANK = 5;

		public override void OnEnterSceneFinally()
		{
			bool flag = XSingleton<XScene>.singleton.SceneType == SceneType.SCENE_BATTLEFIELD_FIGHT;
			if (flag)
			{
				this.ReqBattleInfo();
			}
		}

		protected override void OnReconnected(XReconnectedEventArgs arg)
		{
		}

		public void ReceiveBattleKillInfo(PvpBattleKill battleKillInfo)
		{
			GVGBattleSkill gvgbattleSkill = new GVGBattleSkill();
			gvgbattleSkill.killerID = battleKillInfo.killID;
			gvgbattleSkill.deadID = battleKillInfo.deadID;
			gvgbattleSkill.contiKillCount = battleKillInfo.contiKillCount;
			XEntity entityConsiderDeath = XSingleton<XEntityMgr>.singleton.GetEntityConsiderDeath(gvgbattleSkill.killerID);
			XEntity entityConsiderDeath2 = XSingleton<XEntityMgr>.singleton.GetEntityConsiderDeath(gvgbattleSkill.deadID);
			bool flag = entityConsiderDeath == null || entityConsiderDeath2 == null;
			if (flag)
			{
				XSingleton<XDebug>.singleton.AddErrorLog("Killer id: " + gvgbattleSkill.killerID, " Dead id: " + gvgbattleSkill.deadID, null, null, null, null);
				bool flag2 = entityConsiderDeath == null;
				if (flag2)
				{
					XSingleton<XDebug>.singleton.AddErrorLog("kill_en id null", null, null, null, null, null);
				}
				bool flag3 = entityConsiderDeath2 == null;
				if (flag3)
				{
					XSingleton<XDebug>.singleton.AddErrorLog("dead_en id null", null, null, null, null, null);
				}
			}
			else
			{
				gvgbattleSkill.killerName = entityConsiderDeath.Name;
				gvgbattleSkill.deadName = entityConsiderDeath2.Name;
				gvgbattleSkill.killerPosition = XSingleton<XEntityMgr>.singleton.IsAlly(entityConsiderDeath);
				DlgBase<BattleContiDlg, BattleContiBehaviour>.singleton.AddBattleSkill(gvgbattleSkill);
				XSingleton<XDebug>.singleton.AddGreenLog(string.Format("ReceiveBattleKillInfo:{0} --- ,{1} ,.... {2}", gvgbattleSkill.killerName, gvgbattleSkill.deadName, gvgbattleSkill.contiKillCount), null, null, null, null, null);
			}
		}

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

		public void SetRankData(BattleFieldRankArg oArg, BattleFieldRankRes oRes)
		{
			bool flag = this.battleHandler != null && this.battleHandler.PanelObject != null && this.battleHandler.IsVisible();
			if (flag)
			{
				this.battleHandler.RefreshRank(oRes.ranks);
			}
		}

		public void SetReviveTime(PtcG2C_BattleFieldReliveNtf roPtc)
		{
			bool flag = this.battleHandler == null;
			if (!flag)
			{
				this.battleHandler.SetReviveTime(roPtc.Data.time);
			}
		}

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

		public void SetBattleInfo(BattleFieldRoleAgainst oRes)
		{
			this.userIdToRole.Clear();
			for (int i = 0; i < oRes.roles.Count; i++)
			{
				this.userIdToRole[oRes.roles[i].roleid] = oRes.roles[i].name;
			}
		}

		public void SetTime(PtcG2C_BFFightTimeNtf roPtc)
		{
			bool flag = DlgBase<BattleMain, BattleMainBehaviour>.singleton.IsLoaded() && roPtc.Data.time > 0u;
			if (flag)
			{
				DlgBase<BattleMain, BattleMainBehaviour>.singleton.SetLeftTime(roPtc.Data.time, -1);
			}
		}
	}
}