summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/Team/XTeamLeagueRankView.cs
blob: 83e5dee6a60b4566b540c2d04a78d0e275226412 (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
using System;
using UILib;
using UnityEngine;
using XMainClient.UI.UICommon;

namespace XMainClient
{
	internal class XTeamLeagueRankView : DlgBase<XTeamLeagueRankView, XTeamLeagueRankBehavior>
	{
		public override string fileName
		{
			get
			{
				return "GameSystem/TeamLeague/TeamLeagueRank";
			}
		}

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

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

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

		public bool IsLastWeek = false;

		private XBaseRankList list = null;

		protected override void Init()
		{
			base.Init();
			this.InitProperties();
		}

		protected override void OnShow()
		{
			base.OnShow();
		}

		protected override void OnHide()
		{
			this.IsLastWeek = false;
			base.OnHide();
		}

		public void RefreshUI(XBaseRankList list)
		{
			int num = 0;
			this.list = list;
			bool flag = list != null;
			if (flag)
			{
				num = this.list.rankList.Count;
				base.uiBehaviour.WrapContent.SetContentCount(list.rankList.Count, false);
			}
			base.uiBehaviour.NoRankTrans.gameObject.SetActive(num == 0);
		}

		private void InitProperties()
		{
			base.uiBehaviour.CloseBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseBtnClicked));
			base.uiBehaviour.WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.UpdateRankItem));
			base.uiBehaviour.WrapContent.RegisterItemInitEventHandler(new WrapItemInitEventHandler(this.InitWrapContentItem));
		}

		private void InitWrapContentItem(Transform itemTransform, int index)
		{
			IXUISprite ixuisprite = itemTransform.Find("Background").GetComponent("XUISprite") as IXUISprite;
			ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnClickRankItem));
		}

		private void OnClickRankItem(IXUISprite uiSprite)
		{
			ulong id = uiSprite.ID;
			XFreeTeamVersusLeagueDocument.Doc.SendGetLeagueTeamInfo(id);
		}

		private void UpdateRankItem(Transform itemTransform, int index)
		{
			bool flag = this.list != null && index < this.list.rankList.Count;
			if (flag)
			{
				XLeagueTeamRankInfo xleagueTeamRankInfo = this.list.rankList[index] as XLeagueTeamRankInfo;
				IXUILabel ixuilabel = itemTransform.Find("Rank").GetComponent("XUILabel") as IXUILabel;
				IXUISprite ixuisprite = itemTransform.Find("RankImage").GetComponent("XUISprite") as IXUISprite;
				IXUILabel ixuilabel2 = itemTransform.Find("TeamName").GetComponent("XUILabel") as IXUILabel;
				IXUILabel ixuilabel3 = itemTransform.Find("ServerName").GetComponent("XUILabel") as IXUILabel;
				IXUILabel ixuilabel4 = itemTransform.Find("Score").GetComponent("XUILabel") as IXUILabel;
				IXUILabel ixuilabel5 = itemTransform.Find("WinTimes").GetComponent("XUILabel") as IXUILabel;
				IXUILabel ixuilabel6 = itemTransform.Find("WinRates").GetComponent("XUILabel") as IXUILabel;
				IXUISprite ixuisprite2 = itemTransform.Find("Background").GetComponent("XUISprite") as IXUISprite;
				ixuisprite.spriteName = ixuisprite.spriteName.Substring(0, ixuisprite.spriteName.Length - 1) + Mathf.Min(xleagueTeamRankInfo.rank + 1u, 3f);
				ixuisprite.gameObject.SetActive(xleagueTeamRankInfo.rank < 3u);
				ixuilabel.SetText((xleagueTeamRankInfo.rank >= 3u) ? (xleagueTeamRankInfo.rank + 1u).ToString() : "");
				ixuilabel4.SetText(xleagueTeamRankInfo.point.ToString());
				ixuilabel5.SetText(xleagueTeamRankInfo.winNum.ToString());
				ixuilabel6.SetText((int)(xleagueTeamRankInfo.winRate * 100f) + "%");
				ixuilabel2.SetText(xleagueTeamRankInfo.teamName);
				ixuilabel3.SetText("(" + xleagueTeamRankInfo.serverName + ")");
				ixuisprite2.ID = xleagueTeamRankInfo.leagueTeamID;
			}
		}

		private bool OnCloseBtnClicked(IXUIButton button)
		{
			this.SetVisible(false, true);
			return true;
		}
	}
}