summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/UI/BattleContinueDlg.cs
blob: 4b0c233b031e7dbde9905ed370570749e53afc32 (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 KKSG;
using UILib;
using UnityEngine;
using XMainClient.UI.UICommon;
using XUtliPoolLib;

namespace XMainClient.UI
{
	internal class BattleContinueDlg : DlgBase<BattleContinueDlg, BattleContinueDlgBehaviour>
	{
		public override string fileName
		{
			get
			{
				return "Battle/BattleContinueDlg";
			}
		}

		public override int layer
		{
			get
			{
				return 1;
			}
		}

		public override bool autoload
		{
			get
			{
				return true;
			}
		}

		private XLevelDocument _doc;

		protected override void Init()
		{
			this._doc = (XSingleton<XGame>.singleton.Doc.GetXComponent(XLevelDocument.uuID) as XLevelDocument);
		}

		public override void RegisterEvent()
		{
			base.RegisterEvent();
			base.uiBehaviour.m_Continue.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnContinueClicked));
		}

		protected override void OnShow()
		{
			base.OnShow();
			bool flag = DlgBase<BattleMain, BattleMainBehaviour>.singleton.IsLoaded();
			if (flag)
			{
				DlgBase<BattleMain, BattleMainBehaviour>.singleton.SkillHandler.ResetPressState();
				DlgBase<BattleMain, BattleMainBehaviour>.singleton.SetVisiblePure(false);
				DlgBase<RadioBattleDlg, RadioBattleBahaviour>.singleton.Show(false);
				DlgBase<XChatSmallView, XChatSmallBehaviour>.singleton.SetVisible(false, true);
				base.uiBehaviour.m_tween.PlayTween(true, -1f);
			}
			bool flag2 = DlgBase<SpectateSceneView, SpectateSceneBehaviour>.singleton.IsLoaded();
			if (flag2)
			{
				DlgBase<SpectateSceneView, SpectateSceneBehaviour>.singleton.SetVisiblePure(false);
				DlgBase<XChatSmallView, XChatSmallBehaviour>.singleton.SetVisible(false, true);
				DlgBase<RadioDlg, RadioBehaviour>.singleton.Show(false);
			}
			bool flag3 = DlgBase<XChatView, XChatBehaviour>.singleton.IsLoaded();
			if (flag3)
			{
				DlgBase<XChatView, XChatBehaviour>.singleton.SetVisible(false, true);
			}
		}

		protected bool OnContinueClicked(IXUIButton button)
		{
			this.SetVisible(false, true);
			XBossBushDocument specificDocument = XDocuments.GetSpecificDocument<XBossBushDocument>(XBossBushDocument.uuID);
			specificDocument.SendQuery(BossRushReqStatus.BOSSRUSH_RESULT_WIN);
			specificDocument.SendQuery(BossRushReqStatus.BOSSRUSH_REQ_BASEDATA);
			return true;
		}

		protected bool OnReturnClicked(IXUIButton button)
		{
			XSingleton<XLevelFinishMgr>.singleton.ForceLevelFinish(true);
			XSingleton<XLevelFinishMgr>.singleton.WaitingLevelContinueSelect = false;
			this.SetVisible(false, true);
			return true;
		}

		public void ShowBossrushResult()
		{
			this.SetVisible(true, true);
			XSingleton<XLevelFinishMgr>.singleton.WaitingLevelContinueSelect = true;
			XBossBushDocument specificDocument = XDocuments.GetSpecificDocument<XBossBushDocument>(XBossBushDocument.uuID);
			base.uiBehaviour.m_Next.gameObject.SetActive(true);
			base.uiBehaviour.m_lblNum.SetText(XStringDefineProxy.GetString("BOSS_RATE_RWD", new object[]
			{
				specificDocument.rwdRate
			}));
			base.uiBehaviour.m_lblNum.SetVisible(specificDocument.rwdRate > 1f);
			base.uiBehaviour.m_NextItemPool.ReturnAll(false);
			for (int i = 0; i < specificDocument.bossRushRow.reward.Count; i++)
			{
				uint num = specificDocument.bossRushRow.reward[i, 0];
				uint num2 = specificDocument.bossRushRow.reward[i, 1];
				GameObject gameObject = base.uiBehaviour.m_NextItemPool.FetchGameObject(false);
				XSingleton<XItemDrawerMgr>.singleton.normalItemDrawer.DrawItem(gameObject, (int)num, (int)(num2 * specificDocument.rwdRate), false);
				IXUISprite ixuisprite = gameObject.transform.GetComponent("XUISprite") as IXUISprite;
				ixuisprite.ID = (ulong)num;
				bool flag = specificDocument.bossRushRow.reward.Count % 2 == 0;
				if (flag)
				{
					gameObject.transform.localPosition = new Vector3(130f * ((float)(i - specificDocument.bossRushRow.reward.Count / 2) + 0.5f), 0f, 0f);
				}
				else
				{
					gameObject.transform.localPosition = new Vector3((float)(130 * (i - specificDocument.bossRushRow.reward.Count / 2)), 0f, 0f);
				}
			}
		}
	}
}