From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/LevelRewardBattleFieldHandler.cs | 182 +++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/LevelRewardBattleFieldHandler.cs') 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.singleton.m_uiTool); + + private XUIPool m_PlayerPool = new XUIPool(XSingleton.singleton.m_uiTool); + + private Transform m_PVPDataFrame; + + private IXUIButton m_BattleDataCloseButton; + + private XUIPool m_BattleDataPool = new XUIPool(XSingleton.singleton.m_uiTool); + + protected override void Init() + { + base.Init(); + this.doc = XDocuments.GetSpecificDocument(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.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.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.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.singleton.GetProfHeadIcon(battleFieldBattleData.MemberData[i].RoleProf)); + ixuilabel.SetText(battleFieldBattleData.MemberData[i].Name); + ixuilabel2.SetText(battleFieldBattleData.MemberData[i].ServerName); + ixuilabel3.SetText(XSingleton.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.singleton.NumberFormat(battleFieldBattleData.MemberData[i].Damage)); + } + } + } +} -- cgit v1.1-26-g67d0