diff options
Diffstat (limited to 'Client/Assets/Scripts/XMainClient/BigMeleeEntranceView.cs')
-rw-r--r-- | Client/Assets/Scripts/XMainClient/BigMeleeEntranceView.cs | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XMainClient/BigMeleeEntranceView.cs b/Client/Assets/Scripts/XMainClient/BigMeleeEntranceView.cs new file mode 100644 index 00000000..498a833d --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/BigMeleeEntranceView.cs @@ -0,0 +1,206 @@ +using System;
+using System.Collections.Generic;
+using UILib;
+using UnityEngine;
+using XMainClient.UI;
+using XMainClient.UI.UICommon;
+using XUtliPoolLib;
+
+namespace XMainClient
+{
+ internal class BigMeleeEntranceView : DlgBase<BigMeleeEntranceView, BigMeleeEntranceBehaviour>
+ {
+ public override bool autoload
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public override bool pushstack
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public override bool hideMainMenu
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public override bool fullscreenui
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public override string fileName
+ {
+ get
+ {
+ return "GameSystem/BigMelee/BigMeleeEntrance";
+ }
+ }
+
+ public override int sysid
+ {
+ get
+ {
+ return XFastEnumIntEqualityComparer<XSysDefine>.ToInt(XSysDefine.XSys_BigMelee);
+ }
+ }
+
+ private XBigMeleeEntranceDocument doc = null;
+
+ private PointRewardHandler _PointRewardHandler;
+
+ private RankRewardHandler _RankRewardHandler;
+
+ private string[] reward = XSingleton<XGlobalConfig>.singleton.GetValue("BigMeleeShowReward").Split(new char[]
+ {
+ '|'
+ });
+
+ protected override void Init()
+ {
+ this.doc = XDocuments.GetSpecificDocument<XBigMeleeEntranceDocument>(XBigMeleeEntranceDocument.uuID);
+ }
+
+ public override void RegisterEvent()
+ {
+ base.uiBehaviour.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseClicked));
+ base.uiBehaviour.m_Help.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnHelpClicked));
+ base.uiBehaviour.m_Join.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnJoinClicked));
+ base.uiBehaviour.m_PointRewardBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnPointRewardClicked));
+ base.uiBehaviour.m_RankRewardBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnRankRewardClicked));
+ }
+
+ protected override void OnShow()
+ {
+ base.OnShow();
+ base.uiBehaviour.m_Rule.SetText(XSingleton<UiUtility>.singleton.ReplaceReturn(XStringDefineProxy.GetString("BIG_MELEE_RULE")));
+ base.uiBehaviour.m_Time.SetText(XSingleton<UiUtility>.singleton.ReplaceReturn(XStringDefineProxy.GetString("BIG_MELEE_TIME")));
+ this.Refresh();
+ }
+
+ public void Refresh()
+ {
+ base.uiBehaviour.m_RewardShowPool.FakeReturnAll();
+ for (int i = 0; i < this.reward.Length; i++)
+ {
+ GameObject gameObject = base.uiBehaviour.m_RewardShowPool.FetchGameObject(false);
+ gameObject.transform.localPosition = new Vector3((float)(i * base.uiBehaviour.m_RewardShowPool.TplWidth), 0f, 0f) + base.uiBehaviour.m_RewardShowPool.TplPos;
+ uint num = uint.Parse(this.reward[i]);
+ Transform transform = gameObject.transform.Find("Item");
+ XSingleton<XItemDrawerMgr>.singleton.normalItemDrawer.DrawItem(transform.gameObject, (int)num, 0, false);
+ IXUISprite ixuisprite = transform.Find("Icon").GetComponent("XUISprite") as IXUISprite;
+ ixuisprite.ID = (ulong)num;
+ ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton<UiUtility>.singleton.OnItemClick));
+ }
+ base.uiBehaviour.m_RewardShowPool.ActualReturnAll(false);
+ }
+
+ protected override void OnHide()
+ {
+ base.OnHide();
+ }
+
+ protected override void OnUnload()
+ {
+ DlgHandlerBase.EnsureUnload<PointRewardHandler>(ref this._PointRewardHandler);
+ DlgHandlerBase.EnsureUnload<RankRewardHandler>(ref this._RankRewardHandler);
+ base.OnUnload();
+ }
+
+ public bool OnCloseClicked(IXUIButton btn)
+ {
+ this.SetVisibleWithAnimation(false, null);
+ return true;
+ }
+
+ private bool OnHelpClicked(IXUIButton btn)
+ {
+ DlgBase<XCommonHelpTipView, XCommonHelpTipBehaviour>.singleton.ShowHelp(XSysDefine.XSys_BigMelee);
+ return true;
+ }
+
+ public bool OnJoinClicked(IXUIButton btn)
+ {
+ bool flag = XTeamDocument.GoSingleBattleBeforeNeed(new ButtonClickEventHandler(this.OnJoinClicked), btn);
+ bool result;
+ if (flag)
+ {
+ result = true;
+ }
+ else
+ {
+ this.doc.ReqJoin();
+ result = true;
+ }
+ return result;
+ }
+
+ public bool OnPointRewardClicked(IXUIButton btn)
+ {
+ DlgHandlerBase.EnsureCreate<PointRewardHandler>(ref this._PointRewardHandler, base.uiBehaviour.m_Bg, false, null);
+ bool flag = this._PointRewardHandler.Sys != XSysDefine.XSys_BigMelee;
+ if (flag)
+ {
+ List<BigMeleePointReward.RowData> pointRewardList = this.doc.GetPointRewardList();
+ List<PointRewardData> list = new List<PointRewardData>(pointRewardList.Count);
+ for (int i = 0; i < pointRewardList.Count; i++)
+ {
+ PointRewardData pointRewardData = default(PointRewardData);
+ pointRewardData.Init();
+ pointRewardData.point = pointRewardList[i].point;
+ for (int j = 0; j < pointRewardList[i].reward.Count; j++)
+ {
+ pointRewardData.rewardItem.Add(pointRewardList[i].reward[j, 0], pointRewardList[i].reward[j, 1]);
+ }
+ list.Add(pointRewardData);
+ }
+ this._PointRewardHandler.SetData(list, XSysDefine.XSys_BigMelee);
+ }
+ this._PointRewardHandler.SetVisible(true);
+ return true;
+ }
+
+ public bool OnRankRewardClicked(IXUIButton btn)
+ {
+ DlgHandlerBase.EnsureCreate<RankRewardHandler>(ref this._RankRewardHandler, base.uiBehaviour.m_Bg, false, null);
+ bool flag = this._RankRewardHandler.Sys != XSysDefine.XSys_BigMelee;
+ if (flag)
+ {
+ List<BigMeleeRankReward.RowData> rankRewardList = this.doc.GetRankRewardList();
+ List<RankRewardData> list = new List<RankRewardData>(rankRewardList.Count);
+ for (int i = 0; i < rankRewardList.Count; i++)
+ {
+ list.Add(new RankRewardData
+ {
+ rankMIN = rankRewardList[i].rank[0],
+ rankMAX = rankRewardList[i].rank[1],
+ rewardID =
+ {
+ rankRewardList[i].reward[i, 0]
+ },
+ rewardCount =
+ {
+ rankRewardList[i].reward[i, 1]
+ }
+ });
+ }
+ this._RankRewardHandler.SetData(list, XSysDefine.XSys_BigMelee);
+ }
+ this._RankRewardHandler.SetVisible(true);
+ return true;
+ }
+ }
+}
|