diff options
author | chai <chaifix@163.com> | 2021-01-25 14:28:30 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-01-25 14:28:30 +0800 |
commit | 6eb915c129fc90c6f4c82ae097dd6ffad5239efc (patch) | |
tree | 7dd2be50edf41f36b60fac84696e731c13afe617 /Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs |
+scripts
Diffstat (limited to 'Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs')
-rw-r--r-- | Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs b/Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs new file mode 100644 index 00000000..305a0165 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs @@ -0,0 +1,182 @@ +using System;
+using UILib;
+using UnityEngine;
+using XMainClient.UI;
+using XUtliPoolLib;
+
+namespace XMainClient
+{
+ internal class LevelRewardBattleFieldHandler : DlgHandlerBase
+ {
+ protected override string FileName
+ {
+ get
+ {
+ return "Battle/LevelReward/LevelRewardBattleFieldFrame";
+ }
+ }
+
+ private XLevelRewardDocument doc = null;
+
+ private IXUIButton m_BattleDataButton;
+
+ private IXUIButton m_ReturnButton;
+
+ private IXUIButton m_ReturnWaitButton;
+
+ private XUIPool m_ItemPool = new XUIPool(XSingleton<XGameUI>.singleton.m_uiTool);
+
+ private XUIPool m_PlayerPool = new XUIPool(XSingleton<XGameUI>.singleton.m_uiTool);
+
+ private Transform m_PVPDataFrame;
+
+ private IXUIButton m_BattleDataCloseButton;
+
+ private XUIPool m_BattleDataPool = new XUIPool(XSingleton<XGameUI>.singleton.m_uiTool);
+
+ protected override void Init()
+ {
+ base.Init();
+ this.doc = XDocuments.GetSpecificDocument<XLevelRewardDocument>(XLevelRewardDocument.uuID);
+ this.InitUI();
+ this.InitDetailUI();
+ }
+
+ private void InitUI()
+ {
+ this.m_PlayerPool.SetupPool(null, base.transform.Find("Bg/Rank/Rank/Panel/PlayerTpl").gameObject, 8u, false);
+ this.m_ItemPool.SetupPool(null, base.transform.Find("Bg/Bottom/ItemList/Panel/ItemTpl").gameObject, 5u, false);
+ this.m_BattleDataButton = (base.transform.Find("Bg/Bottom/BattleData").GetComponent("XUIButton") as IXUIButton);
+ this.m_ReturnButton = (base.transform.Find("Bg/Bottom/Return").GetComponent("XUIButton") as IXUIButton);
+ this.m_ReturnWaitButton = (base.transform.Find("Bg/Bottom/ReturnWait").GetComponent("XUIButton") as IXUIButton);
+ }
+
+ private void InitDetailUI()
+ {
+ this.m_PVPDataFrame = base.PanelObject.transform.Find("Bg/PVPDataFrame");
+ this.m_BattleDataPool.SetupPool(null, this.m_PVPDataFrame.Find("Panel/MemberTpl").gameObject, 8u, false);
+ this.m_BattleDataCloseButton = (this.m_PVPDataFrame.Find("Close").GetComponent("XUIButton") as IXUIButton);
+ }
+
+ public override void RegisterEvent()
+ {
+ base.RegisterEvent();
+ this.m_BattleDataButton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnBattleDataButtonClicked));
+ this.m_ReturnButton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnReturnButtonClicked));
+ this.m_ReturnWaitButton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnReturnWaitButtonClicked));
+ this.m_BattleDataCloseButton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnDetailCloseButtonClicked));
+ }
+
+ private bool OnBattleDataButtonClicked(IXUIButton button)
+ {
+ this.m_PVPDataFrame.gameObject.SetActive(true);
+ return true;
+ }
+
+ private bool OnReturnButtonClicked(IXUIButton button)
+ {
+ this.doc.SendLeaveScene();
+ return true;
+ }
+
+ private bool OnReturnWaitButtonClicked(IXUIButton button)
+ {
+ this.doc.SendReturnWaitBattleField();
+ return true;
+ }
+
+ private bool OnDetailCloseButtonClicked(IXUIButton button)
+ {
+ this.m_PVPDataFrame.gameObject.SetActive(false);
+ return true;
+ }
+
+ protected override void OnShow()
+ {
+ base.OnShow();
+ this.OnShowUI();
+ this.SetupBattleDataUI();
+ }
+
+ private void OnShowUI()
+ {
+ this.m_PVPDataFrame.gameObject.SetActive(false);
+ XLevelRewardDocument.BattleFieldData battleFieldBattleData = this.doc.BattleFieldBattleData;
+ this.m_ReturnWaitButton.gameObject.SetActive(!battleFieldBattleData.allend);
+ this.m_PlayerPool.FakeReturnAll();
+ for (int i = 0; i < battleFieldBattleData.MemberData.Count; i++)
+ {
+ GameObject gameObject = this.m_PlayerPool.FetchGameObject(false);
+ this.SetupDetailUI(gameObject, battleFieldBattleData.MemberData[i]);
+ gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)this.m_PlayerPool.TplHeight * i)) + this.m_PlayerPool.TplPos;
+ }
+ this.m_PlayerPool.ActualReturnAll(false);
+ this.m_ItemPool.FakeReturnAll();
+ for (int j = 0; j < battleFieldBattleData.item.Count; j++)
+ {
+ GameObject gameObject2 = this.m_ItemPool.FetchGameObject(false);
+ XSingleton<XItemDrawerMgr>.singleton.normalItemDrawer.DrawItem(gameObject2, (int)battleFieldBattleData.item[j].itemID, (int)battleFieldBattleData.item[j].itemCount, false);
+ gameObject2.transform.localPosition = new Vector3((float)(j * this.m_ItemPool.TplWidth), 0f, 0f) + this.m_ItemPool.TplPos;
+ IXUISprite ixuisprite = gameObject2.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite;
+ ixuisprite.ID = (ulong)battleFieldBattleData.item[j].itemID;
+ ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton<UiUtility>.singleton.OnItemClick));
+ }
+ this.m_ItemPool.ActualReturnAll(false);
+ }
+
+ private void SetupDetailUI(GameObject go, XLevelRewardDocument.BattleRankRoleInfo data)
+ {
+ IXUISprite ixuisprite = go.transform.Find("Avatar").GetComponent("XUISprite") as IXUISprite;
+ IXUISprite ixuisprite2 = go.transform.Find("MVP").GetComponent("XUISprite") as IXUISprite;
+ IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel2 = go.transform.Find("ServerName").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel3 = go.transform.Find("Kill").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel4 = go.transform.Find("Death").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel5 = go.transform.Find("Point").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel6 = go.transform.Find("Rank").GetComponent("XUILabel") as IXUILabel;
+ ixuisprite.SetSprite(XSingleton<XProfessionSkillMgr>.singleton.GetProfHeadIcon(data.RoleProf));
+ ixuisprite2.SetAlpha((float)(data.isMVP ? 1 : 0));
+ ixuilabel.SetText(data.Name);
+ ixuilabel2.SetText(data.ServerName);
+ ixuilabel3.SetText(data.KillCount.ToString());
+ ixuilabel4.SetText(data.DeathCount.ToString());
+ ixuilabel5.SetText(data.Point.ToString());
+ ixuilabel6.SetText(data.Rank.ToString());
+ }
+
+ private void SetupBattleDataUI()
+ {
+ XLevelRewardDocument.BattleFieldData battleFieldBattleData = this.doc.BattleFieldBattleData;
+ this.m_BattleDataPool.ReturnAll(false);
+ Vector3 vector = this.m_BattleDataPool.TplPos;
+ for (int i = 0; i < battleFieldBattleData.MemberData.Count; i++)
+ {
+ GameObject gameObject = this.m_BattleDataPool.FetchGameObject(false);
+ gameObject.transform.localPosition = vector;
+ vector += new Vector3(0f, (float)(-(float)this.m_BattleDataPool.TplHeight));
+ IXUISprite ixuisprite = gameObject.transform.Find("Detail/Avatar").GetComponent("XUISprite") as IXUISprite;
+ IXUILabel ixuilabel = gameObject.transform.Find("Detail/Name").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel2 = gameObject.transform.Find("Detail/ServerName").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel3 = gameObject.transform.Find("Profession").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel4 = gameObject.transform.Find("KillTotal").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel5 = gameObject.transform.Find("MaxKill").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel6 = gameObject.transform.Find("DeathCount").GetComponent("XUILabel") as IXUILabel;
+ IXUILabel ixuilabel7 = gameObject.transform.Find("DamageTotal").GetComponent("XUILabel") as IXUILabel;
+ ixuisprite.SetSprite(XSingleton<XProfessionSkillMgr>.singleton.GetProfHeadIcon(battleFieldBattleData.MemberData[i].RoleProf));
+ ixuilabel.SetText(battleFieldBattleData.MemberData[i].Name);
+ ixuilabel2.SetText(battleFieldBattleData.MemberData[i].ServerName);
+ ixuilabel3.SetText(XSingleton<XProfessionSkillMgr>.singleton.GetProfName(battleFieldBattleData.MemberData[i].RoleProf));
+ IXUILabel ixuilabel8 = ixuilabel4;
+ XLevelRewardDocument.BattleRankRoleInfo battleRankRoleInfo = battleFieldBattleData.MemberData[i];
+ ixuilabel8.SetText(battleRankRoleInfo.KillCount.ToString());
+ IXUILabel ixuilabel9 = ixuilabel5;
+ battleRankRoleInfo = battleFieldBattleData.MemberData[i];
+ ixuilabel9.SetText(battleRankRoleInfo.CombKill.ToString());
+ IXUILabel ixuilabel10 = ixuilabel6;
+ battleRankRoleInfo = battleFieldBattleData.MemberData[i];
+ ixuilabel10.SetText(battleRankRoleInfo.DeathCount.ToString());
+ ixuilabel7.SetText(XSingleton<UiUtility>.singleton.NumberFormat(battleFieldBattleData.MemberData[i].Damage));
+ }
+ }
+ }
+}
|