From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/JokerKingMainView.cs | 239 +++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/JokerKingMainView.cs (limited to 'Client/Assets/Scripts/XMainClient/JokerKingMainView.cs') diff --git a/Client/Assets/Scripts/XMainClient/JokerKingMainView.cs b/Client/Assets/Scripts/XMainClient/JokerKingMainView.cs new file mode 100644 index 00000000..c9706439 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/JokerKingMainView.cs @@ -0,0 +1,239 @@ +using System; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class JokerKingMainView : DlgBase + { + public override string fileName + { + get + { + return "OperatingActivity/JokerkingMain"; + } + } + + public override bool fullscreenui + { + get + { + return true; + } + } + + private PokerTournamentReward.RowData[] Tournaments + { + get + { + return XJokerKingDocument.JokerTournamed.Table; + } + } + + private XJokerKingDocument _Doc; + + protected override void Init() + { + base.Init(); + this._Doc = XDocuments.GetSpecificDocument(XJokerKingDocument.uuID); + base.uiBehaviour.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.OnItemUpdateWrapUpdate)); + base.uiBehaviour.m_RankList.gameObject.SetActive(false); + base.uiBehaviour.m_IntroText.SetText(XSingleton.singleton.ReplaceReturn(XStringDefineProxy.GetString("KINGOFPOKER"))); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + base.uiBehaviour.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickHandler)); + base.uiBehaviour.m_BtnGo.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickGo)); + base.uiBehaviour.m_BtnDisable.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickJoin)); + base.uiBehaviour.m_BtnRankReward.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickRankReward)); + base.uiBehaviour.m_BtnRankSprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnClickRankRewardClose)); + } + + protected override void OnShow() + { + base.OnShow(); + this.InitRewardList(); + this._Doc.JokerKingMatchQuery(); + } + + public void RefreshData() + { + bool flag = this._Doc.MatchState == CardMatchState.CardMatch_StateDummy; + if (flag) + { + bool isSignUp = this._Doc.IsSignUp; + if (isSignUp) + { + this.SignMatching(); + } + else + { + this.SignBegioning(); + } + } + else + { + this.SignJoin(); + } + } + + private void SignJoin() + { + base.uiBehaviour.m_info.SetText(string.Empty); + base.uiBehaviour.m_BtnGo.SetVisible(false); + base.uiBehaviour.m_Matching.gameObject.SetActive(false); + base.uiBehaviour.m_BtnDisable.SetVisible(true); + } + + private void UnSignBegion() + { + base.uiBehaviour.m_info.SetText(XStringDefineProxy.GetString("JOKERKING_SIGN_NOT_BEGION")); + base.uiBehaviour.m_BtnGo.SetVisible(false); + base.uiBehaviour.m_Matching.gameObject.SetActive(false); + base.uiBehaviour.m_BtnDisable.SetVisible(false); + } + + private void SignBegioning() + { + int @int = XSingleton.singleton.GetInt("PokerTournamentSignUpNum"); + base.uiBehaviour.m_info.SetText(XStringDefineProxy.GetString("JOKERKING_SIGN_BEGION", new object[] + { + (long)@int - (long)((ulong)this._Doc.JokerKingTimes), + @int + })); + base.uiBehaviour.m_BtnGo.SetVisible(true); + SeqList sequenceList = XSingleton.singleton.GetSequenceList("PokerTournamentSignUpCost", true); + base.uiBehaviour.m_LabelSymbol.InputText = XStringDefineProxy.GetString("JOKERKING_SIGN_UP", new object[] + { + XLabelSymbolHelper.FormatCostWithIcon(sequenceList[0, 1], ItemEnum.DRAGON_COIN) + }); + base.uiBehaviour.m_Matching.gameObject.SetActive(false); + base.uiBehaviour.m_BtnDisable.SetVisible(false); + } + + private void SignMatching() + { + base.uiBehaviour.m_info.SetText(string.Empty); + base.uiBehaviour.m_BtnGo.SetVisible(false); + base.uiBehaviour.m_Matching.gameObject.SetActive(true); + base.uiBehaviour.m_BtnDisable.SetVisible(false); + } + + private bool OnClickGo(IXUIButton btn) + { + this._Doc.JokerKingMatchSignUp(); + return true; + } + + private bool OnClickJoin(IXUIButton btn) + { + this._Doc.JokerKingMatchAdd(); + this.SetVisibleWithAnimation(false, null); + return true; + } + + private bool OnClickHandler(IXUIButton btn) + { + this.SetVisibleWithAnimation(false, null); + return true; + } + + private bool OnClickRankReward(IXUIButton btn) + { + base.uiBehaviour.m_RankList.gameObject.SetActive(true); + this.SetItemListRewardList(); + return true; + } + + private void OnClickRankRewardClose(IXUISprite sprite) + { + base.uiBehaviour.m_RankList.gameObject.SetActive(false); + } + + private void SetItemListRewardList() + { + base.uiBehaviour.m_WrapContent.SetContentCount(this.Tournaments.Length, false); + base.uiBehaviour.m_ScrollView.ResetPosition(); + } + + private void OnItemUpdateWrapUpdate(Transform t, int index) + { + bool flag = index >= this.Tournaments.Length; + if (!flag) + { + IXUILabel ixuilabel = t.Find("Rank").GetComponent("XUILabel") as IXUILabel; + IXUISprite ixuisprite = t.Find("RankImage").GetComponent("XUISprite") as IXUISprite; + PokerTournamentReward.RowData rowData = this.Tournaments[index]; + bool flag2 = rowData.Rank[0] == rowData.Rank[1]; + if (flag2) + { + bool flag3 = rowData.Rank[0] <= 3u; + if (flag3) + { + ixuisprite.SetSprite(string.Format("N{0}", rowData.Rank[0])); + ixuisprite.SetVisible(true); + ixuilabel.SetVisible(false); + } + else + { + ixuisprite.SetVisible(false); + ixuilabel.SetVisible(true); + ixuilabel.SetText(string.Format("No.", rowData.Rank[0])); + } + } + else + { + ixuisprite.SetVisible(false); + ixuilabel.SetVisible(true); + ixuilabel.SetText(string.Format("{0}-{1}", rowData.Rank[0], rowData.Rank[1])); + } + for (int i = 0; i < 4; i++) + { + Transform transform = t.Find(XSingleton.singleton.StringCombine("Grid/Item", i.ToString())); + bool flag4 = i < rowData.Reward.Count; + if (flag4) + { + transform.gameObject.SetActive(true); + uint num = rowData.Reward[i, 0]; + uint itemCount = rowData.Reward[i, 1]; + ItemList.RowData itemConf = XBagDocument.GetItemConf((int)num); + XSingleton.singleton.normalItemDrawer.DrawItem(transform.gameObject, itemConf, (int)itemCount, false); + IXUISprite ixuisprite2 = transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite2.ID = (ulong)num; + ixuisprite2.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); + } + else + { + transform.gameObject.SetActive(false); + } + } + } + } + + private void InitRewardList() + { + string[] andSeparateValue = XSingleton.singleton.GetAndSeparateValue("PokerTournamentReward", XGlobalConfig.ListSeparator); + int num = andSeparateValue.Length; + base.uiBehaviour.m_RewardPool.ReturnAll(false); + for (int i = 0; i < num; i++) + { + GameObject gameObject = base.uiBehaviour.m_RewardPool.FetchGameObject(false); + gameObject.transform.parent = base.uiBehaviour.m_Reward; + gameObject.transform.localPosition = new Vector3((float)(i * 90), 0f); + int num2 = int.Parse(andSeparateValue[i]); + XSingleton.singleton.normalItemDrawer.DrawItem(gameObject, num2, 0, false); + IXUISprite ixuisprite = gameObject.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + IXUILabel ixuilabel = gameObject.transform.Find("Icon/Num").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(string.Empty); + ixuisprite.ID = (ulong)((long)num2); + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); + } + } + } +} -- cgit v1.1-26-g67d0