From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../UI/GameSystem/SkillDlgPromoteHandler.cs | 783 +++++++++++++++++++++ 1 file changed, 783 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/GameSystem/SkillDlgPromoteHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/GameSystem/SkillDlgPromoteHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/GameSystem/SkillDlgPromoteHandler.cs b/Client/Assets/Scripts/XMainClient/UI/GameSystem/SkillDlgPromoteHandler.cs new file mode 100644 index 00000000..ec15c8e9 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/GameSystem/SkillDlgPromoteHandler.cs @@ -0,0 +1,783 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI.GameSystem +{ + internal class SkillDlgPromoteHandler : DlgHandlerBase + { + private XSkillTreeDocument _doc = null; + + public int CurrStage; + + public bool IsShowAwake = false; + + private GameObject m_NormalTurnPro; + + private GameObject m_PreviewWindow; + + private GameObject m_AwakePage; + + private IXUILabel m_AwakePoint; + + private IXUILabel m_AwakeTips; + + private IXUITexture m_AwakeBgTex; + + private IXUIButton m_TurnAwakeBtn; + + private IXUILabel m_TurnAwakeBtnText; + + private IXUILabel m_AwakeDesc; + + private int _awakePro; + + private int _pro_L; + + private int _pro_R; + + private int _pro_V; + + private int _currChoosePro; + + private int _currSkill; + + private IXUIButton m_PreviewClose; + + private IXUITexture m_BgTex; + + private readonly string TEXPATH = "atlas/UI/common/ProfPic"; + + private string _texPath; + + private GameObject m_BranchGo1; + + private GameObject m_BranchGo2; + + private GameObject m_BranchGo3; + + private IXUIButton m_PreViewBtn; + + private IXUIButton m_TurnProBtn; + + private IXUILabel m_CurrSelectPro; + + private IXUILabel m_TurnProTips; + + private IXUILabel m_TurnProBtnText; + + private IXUICheckBox m_ProChoose_L; + + private IXUICheckBox m_ProChoose_R; + + private IXUICheckBox m_ProChoose_V; + + private XUIPool m_PreViewSkillPool = new XUIPool(XSingleton.singleton.m_uiTool); + + public IXUITexture m_Snapshot; + + private RenderTexture skillPreView; + + public IXUISprite m_PlayBtn; + + private IXUILabel m_SkillName; + + private IXUILabel m_SkillDesc; + + private XUIPool m_Star_L = new XUIPool(XSingleton.singleton.m_uiTool); + + private XUIPool m_Star_R = new XUIPool(XSingleton.singleton.m_uiTool); + + private XUIPool m_Star_V = new XUIPool(XSingleton.singleton.m_uiTool); + + private int old_branch = 0; + + protected override void Init() + { + base.Init(); + this._doc = XDocuments.GetSpecificDocument(XSkillTreeDocument.uuID); + this.m_PreviewWindow = base.PanelObject.transform.Find("PreviewWindow").gameObject; + this.m_PreviewClose = (base.PanelObject.transform.Find("PreviewWindow/Bg/Close").GetComponent("XUIButton") as IXUIButton); + this.m_BgTex = (base.PanelObject.transform.Find("Bg/Texture").GetComponent("XUITexture") as IXUITexture); + this.m_BranchGo1 = base.PanelObject.transform.Find("Bg/TurnBranch1").gameObject; + this.m_BranchGo2 = base.PanelObject.transform.Find("Bg/TurnBranch2").gameObject; + this.m_BranchGo3 = base.PanelObject.transform.Find("Bg/TurnBranch3").gameObject; + this.m_PreViewBtn = (base.PanelObject.transform.Find("Bg/PreviewBtn").GetComponent("XUIButton") as IXUIButton); + this.m_TurnProBtn = (base.PanelObject.transform.Find("Bg/TurnProBtn").GetComponent("XUIButton") as IXUIButton); + this.m_CurrSelectPro = (base.PanelObject.transform.Find("Bg/ProName").GetComponent("XUILabel") as IXUILabel); + this.m_TurnProTips = (base.PanelObject.transform.Find("Bg/Tips").GetComponent("XUILabel") as IXUILabel); + this.m_TurnProBtnText = (this.m_TurnProBtn.gameObject.transform.Find("Text").GetComponent("XUILabel") as IXUILabel); + Transform transform = base.PanelObject.transform.Find("PreviewWindow/ShowFrame/ShowSkill/Tpl"); + this.m_PreViewSkillPool.SetupPool(transform.parent.gameObject, transform.gameObject, 5u, false); + this.m_Snapshot = (base.PanelObject.transform.Find("PreviewWindow/ShowFrame/Snapshot").GetComponent("XUITexture") as IXUITexture); + this.m_PlayBtn = (base.PanelObject.transform.Find("PreviewWindow/Play").GetComponent("XUISprite") as IXUISprite); + this.m_SkillName = (base.PanelObject.transform.Find("PreviewWindow/ShowFrame/SkillDesc/SkillName").GetComponent("XUILabel") as IXUILabel); + this.m_SkillDesc = (base.PanelObject.transform.Find("PreviewWindow/ShowFrame/SkillDesc/SkillDesc").GetComponent("XUILabel") as IXUILabel); + this.m_NormalTurnPro = base.PanelObject.transform.Find("Bg").gameObject; + this.m_AwakePage = base.PanelObject.transform.Find("Awake").gameObject; + this.m_AwakePoint = (base.PanelObject.transform.Find("Awake/Point/value").GetComponent("XUILabel") as IXUILabel); + this.m_AwakeTips = (base.PanelObject.transform.Find("Awake/Tips").GetComponent("XUILabel") as IXUILabel); + this.m_AwakeBgTex = (base.PanelObject.transform.Find("Awake/Texture").GetComponent("XUITexture") as IXUITexture); + this.m_TurnAwakeBtn = (base.PanelObject.transform.Find("Awake/TurnAwakeBtn").GetComponent("XUIButton") as IXUIButton); + this.m_TurnAwakeBtnText = (this.m_TurnAwakeBtn.gameObject.transform.Find("Text").GetComponent("XUILabel") as IXUILabel); + this.m_AwakeDesc = (base.PanelObject.transform.Find("Awake/Text").GetComponent("XUILabel") as IXUILabel); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_PreviewClose.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnWindowCloseClicked)); + this.m_PreViewBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnPreViewBtnClick)); + this.m_PlayBtn.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnPlayBtnClick)); + } + + public bool OnWindowCloseClicked(IXUIButton go) + { + this.m_PreviewWindow.SetActive(false); + return true; + } + + protected override void OnShow() + { + base.OnShow(); + bool flag = this.skillPreView == null; + if (flag) + { + this.skillPreView = new RenderTexture(634, 357, 1, 0, 0); + this.skillPreView.name = "SkillPreview"; + this.skillPreView.autoGenerateMips = false; + this.skillPreView.Create(); + } + this.m_Snapshot.SetRuntimeTex(this.skillPreView, true); + this._doc.SetSkillPreviewTexture(this.skillPreView); + this.SetUVRectangle(); + this.m_PreviewWindow.SetActive(false); + bool flag2 = !this.IsShowAwake; + if (flag2) + { + bool flag3 = !this.m_NormalTurnPro.activeSelf; + if (flag3) + { + this.m_NormalTurnPro.SetActive(true); + } + bool activeSelf = this.m_AwakePage.activeSelf; + if (activeSelf) + { + this.m_AwakePage.SetActive(false); + } + this.CalPro(); + this.SetInfo(); + } + else + { + bool activeSelf2 = this.m_NormalTurnPro.activeSelf; + if (activeSelf2) + { + this.m_NormalTurnPro.SetActive(false); + } + bool flag4 = !this.m_AwakePage.activeSelf; + if (flag4) + { + this.m_AwakePage.SetActive(true); + } + this.SetAwakeInfo(); + } + } + + protected override void OnHide() + { + this.m_BgTex.SetTexturePath(""); + bool flag = DlgBase.singleton.IsVisible(); + if (flag) + { + this._doc.SetSkillPreviewTexture(DlgBase.singleton.skillPreView); + XSingleton.singleton.SkillShowEnd(this._doc.Dummy); + } + bool flag2 = this.skillPreView != null; + if (flag2) + { + this.m_Snapshot.SetRuntimeTex(null, true); + this.skillPreView = null; + } + base.OnHide(); + } + + public override void OnUnload() + { + base.OnUnload(); + } + + private void CalPro() + { + int num = 1; + for (int i = 0; i < this.CurrStage; i++) + { + num *= 10; + } + this._pro_L = num + (int)XSingleton.singleton.XPlayerData.TypeID; + this._pro_R = num * 2 + (int)XSingleton.singleton.XPlayerData.TypeID; + this._pro_V = num * 3 + (int)XSingleton.singleton.XPlayerData.TypeID; + bool flag = !XSingleton.singleton.GetProfIsInLeft(this._pro_L); + if (flag) + { + int pro_L = this._pro_L; + this._pro_L = this._pro_R; + this._pro_R = pro_L; + } + bool flag2 = this._currChoosePro != this._pro_L && this._currChoosePro != this._pro_R && this._currChoosePro != this._pro_V; + if (flag2) + { + this._currChoosePro = this._pro_L; + this.m_CurrSelectPro.SetText(XSingleton.singleton.GetProfName(this._currChoosePro)); + } + } + + private void ChangeGo() + { + bool flag = XSingleton.singleton.IsExistProf(this._pro_L); + bool flag2 = XSingleton.singleton.IsExistProf(this._pro_R); + bool flag3 = XSingleton.singleton.IsExistProf(this._pro_V); + bool flag4 = flag3; + if (flag4) + { + flag3 = XSkillTreeDocument.IsAvengerTaskDone(this._pro_V); + } + int num = 0; + bool flag5 = flag; + if (flag5) + { + num++; + } + bool flag6 = flag2; + if (flag6) + { + num++; + } + bool flag7 = flag3; + if (flag7) + { + num++; + } + bool flag8 = num != this.old_branch; + if (flag8) + { + this.m_BranchGo1.SetActive(1 == num); + this.m_BranchGo2.SetActive(2 == num); + this.m_BranchGo3.SetActive(3 == num); + } + Transform transform = base.PanelObject.transform.Find(string.Format("Bg/TurnBranch{0}", num)); + bool flag9 = transform != null; + if (flag9) + { + bool flag10 = flag; + if (flag10) + { + GameObject gameObject = transform.Find("ProDetail1").gameObject; + this.SetProGo(gameObject, this._pro_L, num); + } + bool flag11 = flag2; + if (flag11) + { + GameObject gameObject2 = transform.Find("ProDetail2").gameObject; + this.SetProGo(gameObject2, this._pro_R, num); + } + bool flag12 = flag3; + if (flag12) + { + GameObject gameObject3 = transform.Find("ProDetail3").gameObject; + this.SetProGo(gameObject3, this._pro_V, num); + } + } + string profPic = XSingleton.singleton.GetProfPic((!flag3) ? this._pro_L : this._pro_V); + this._texPath = string.Format("{0}/{1}", this.TEXPATH, profPic); + this.m_BgTex.SetTexturePath(this._texPath); + this.old_branch = num; + } + + private void SetInfo() + { + this.ChangeGo(); + this.SetProfBtnInfo(); + } + + private void SetProfBtnInfo() + { + bool flag = this.IsAvengr(this._currChoosePro); + if (flag) + { + bool flag2 = XSkillTreeDocument.IsAvengerTaskDone(this._currChoosePro); + if (flag2) + { + this.m_TurnProTips.SetVisible(false); + this.m_TurnProBtnText.SetText(XStringDefineProxy.GetString("TurnProfessionBtnTips2")); + this.m_TurnProBtn.SetGrey(true); + this.m_TurnProBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnTurnProBtnClick)); + } + else + { + this.m_TurnProTips.SetVisible(false); + this.m_TurnProBtnText.SetText(XStringDefineProxy.GetString("TurnProfessionBtnTips2")); + this.m_TurnProBtn.SetGrey(false); + this.m_TurnProBtn.RegisterClickEventHandler(null); + } + } + else + { + XTaskDocument specificDocument = XDocuments.GetSpecificDocument(XTaskDocument.uuID); + uint taskid = (uint)this._doc.TurnProTaskIDList[this.CurrStage - 1]; + bool flag3 = specificDocument.TaskRecord.IsTaskFinished(taskid); + if (flag3) + { + this.m_TurnProTips.SetVisible(false); + this.m_TurnProBtnText.SetText(XStringDefineProxy.GetString("TurnProfessionBtnTips2")); + this.m_TurnProBtn.SetGrey(true); + this.m_TurnProBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnTurnProBtnClick)); + } + else + { + this.m_TurnProTips.SetVisible(true); + this.m_TurnProTips.SetText(this._doc.TransferLimit[this.CurrStage].ToString()); + this.m_TurnProBtnText.SetText(XStringDefineProxy.GetString("TurnProfessionBtnTips1")); + bool flag4 = XSingleton.singleton.XPlayerData.Level >= this._doc.TransferLimit[this.CurrStage]; + if (flag4) + { + this.m_TurnProBtn.SetGrey(true); + this.m_TurnProBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnGoToTask)); + } + else + { + this.m_TurnProBtn.SetGrey(false); + this.m_TurnProBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCanNotGoToTaskClick)); + } + } + } + } + + private void SetAwakeInfo() + { + int num = 1; + for (int i = 0; i < this.CurrStage; i++) + { + num *= 10; + } + this._awakePro = num + (int)XSingleton.singleton.XPlayerData.TypeID; + string profPic = XSingleton.singleton.GetProfPic(this._awakePro); + this._texPath = string.Format("{0}/{1}", this.TEXPATH, profPic); + this.m_AwakeBgTex.SetTexturePath(this._texPath); + this.m_AwakeDesc.SetText(XSingleton.singleton.GetProfDesc(this._awakePro)); + XTaskDocument specificDocument = XDocuments.GetSpecificDocument(XTaskDocument.uuID); + bool flag = false; + bool flag2 = this.CurrStage - 1 < this._doc.TurnProTaskIDList.Count; + if (flag2) + { + uint taskid = (uint)this._doc.TurnProTaskIDList[this.CurrStage - 1]; + flag = specificDocument.TaskRecord.IsTaskFinished(taskid); + } + else + { + XSingleton.singleton.AddLog("GlobalConfig 觉醒任务ID未配置!", null, null, null, null, null, XDebugColor.XDebug_None); + } + bool flag3 = flag; + if (flag3) + { + this.m_AwakeTips.SetVisible(false); + this.m_TurnAwakeBtnText.SetText(XStringDefineProxy.GetString("TurnAwakeBtnTips2")); + this.m_TurnAwakeBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnAwakeComplete)); + } + else + { + this.m_AwakeTips.SetVisible(true); + this.m_AwakeTips.SetText(XStringDefineProxy.GetString("TurnAwakeTips")); + this.m_TurnAwakeBtnText.SetText(XStringDefineProxy.GetString("TurnProfessionBtnTips1")); + bool flag4 = XSingleton.singleton.XPlayerData.Level >= this._doc.TransferLimit[this.CurrStage]; + if (flag4) + { + this.m_TurnAwakeBtn.SetGrey(true); + this.m_TurnAwakeBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnGoToAwakeTask)); + } + else + { + this.m_TurnAwakeBtn.SetGrey(false); + this.m_TurnAwakeBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCanNotGoToAwakeTaskClick)); + } + } + int num2 = (int)XSingleton.singleton.Doc.XBagDoc.GetVirtualItemCount(ItemEnum.AWAKE_POINT); + int @int = XSingleton.singleton.GetInt("AwakeNeedPoint"); + this.m_AwakePoint.SetText(string.Format("{0}{1}/{2}", (num2 < @int) ? "[e60012]" : "", num2, @int)); + } + + private void SetProGo(GameObject go, int pro, int branch) + { + IXUILabel ixuilabel = go.transform.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = go.transform.Find("Desc").GetComponent("XUILabel") as IXUILabel; + IXUISprite ixuisprite = go.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite.spriteName = XSingleton.singleton.GetProfIcon(pro); + ixuilabel.SetText(XSingleton.singleton.GetProfName(pro)); + ixuilabel2.SetText(XSingleton.singleton.GetProfDesc(pro)); + IXUICheckBox ixuicheckBox = go.GetComponent("XUICheckBox") as IXUICheckBox; + ixuicheckBox.ID = (ulong)((long)pro); + ixuicheckBox.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnProClick)); + bool flag = pro == this._pro_L; + XUIPool xuipool; + if (flag) + { + this.m_ProChoose_L = ixuicheckBox; + bool flag2 = branch != this.old_branch; + if (flag2) + { + Transform transform = base.PanelObject.transform.Find(string.Format("Bg/TurnBranch{0}/ProDetail1/Star/Tpl", branch)); + this.m_Star_L.SetupPool(transform.parent.gameObject, transform.gameObject, 5u, false); + } + xuipool = this.m_Star_L; + } + else + { + bool flag3 = pro == this._pro_V; + if (flag3) + { + this.m_ProChoose_V = ixuicheckBox; + bool flag4 = branch != this.old_branch; + if (flag4) + { + Transform transform2 = base.PanelObject.transform.Find(string.Format("Bg/TurnBranch{0}/ProDetail3/Star/Tpl", branch)); + this.m_Star_V.SetupPool(transform2.parent.gameObject, transform2.gameObject, 5u, false); + } + xuipool = this.m_Star_V; + } + else + { + this.m_ProChoose_R = ixuicheckBox; + bool flag5 = branch != this.old_branch; + if (flag5) + { + Transform transform3 = base.PanelObject.transform.Find(string.Format("Bg/TurnBranch{0}/ProDetail2/Star/Tpl", branch)); + this.m_Star_R.SetupPool(transform3.parent.gameObject, transform3.gameObject, 5u, false); + } + xuipool = this.m_Star_R; + } + } + ixuicheckBox.bChecked = (pro == this._currChoosePro); + xuipool.ReturnAll(false); + Vector3 tplPos = xuipool.TplPos; + uint profOperateLevel = XSingleton.singleton.GetProfOperateLevel(pro); + int @int = XSingleton.singleton.GetInt("ProfOperateLevelMax"); + for (int i = 0; i < @int; i++) + { + GameObject gameObject = xuipool.FetchGameObject(false); + gameObject.transform.localPosition = new Vector3(tplPos.x + (float)(i * xuipool.TplWidth), tplPos.y); + IXUISprite ixuisprite2 = gameObject.transform.Find("Star").GetComponent("XUISprite") as IXUISprite; + ixuisprite2.spriteName = (((long)i < (long)((ulong)profOperateLevel)) ? "BossrushStar_1" : "BossrushStar_0"); + } + } + + private bool OnProClick(IXUICheckBox icb) + { + bool flag = !icb.bChecked; + bool result; + if (flag) + { + result = true; + } + else + { + this._currChoosePro = (int)icb.ID; + this.m_CurrSelectPro.SetText(XSingleton.singleton.GetProfName(this._currChoosePro)); + this.SetProfBtnInfo(); + result = true; + } + return result; + } + + private bool IsAvengr(int prof) + { + return prof > 10 && prof / 10 % 10 == 3; + } + + private bool OnPreViewBtnClick(IXUIButton btn) + { + this.ShowPreView(); + return true; + } + + private void ShowPreView() + { + this.m_PreviewWindow.SetActive(true); + this.SetupPreViewTab(); + this.SetupPreViewInfo(); + } + + private bool OnPreViewCheckBoxClick(IXUICheckBox icb) + { + bool flag = !icb.bChecked; + bool result; + if (flag) + { + result = true; + } + else + { + this._currChoosePro = (int)icb.ID; + this.m_CurrSelectPro.SetText(XSingleton.singleton.GetProfName(this._currChoosePro)); + bool flag2 = this._currChoosePro == this._pro_L; + if (flag2) + { + this.m_ProChoose_L.bChecked = true; + } + else + { + bool flag3 = this._currChoosePro == this._pro_V; + if (flag3) + { + this.m_ProChoose_V.bChecked = true; + } + else + { + this.m_ProChoose_R.bChecked = true; + } + } + this.SetupPreViewInfo(); + result = true; + } + return result; + } + + private void SetupPreViewTab() + { + IXUICheckBox ixuicheckBox = base.PanelObject.transform.Find("PreviewWindow/ShowFrame/Tab1").GetComponent("XUICheckBox") as IXUICheckBox; + IXUICheckBox ixuicheckBox2 = base.PanelObject.transform.Find("PreviewWindow/ShowFrame/Tab2").GetComponent("XUICheckBox") as IXUICheckBox; + IXUICheckBox ixuicheckBox3 = base.PanelObject.transform.Find("PreviewWindow/ShowFrame/Tab3").GetComponent("XUICheckBox") as IXUICheckBox; + ixuicheckBox.ID = (ulong)((long)this._pro_L); + ixuicheckBox2.ID = (ulong)((long)this._pro_R); + ixuicheckBox3.ID = (ulong)((long)this._pro_V); + bool flag = this._currChoosePro == this._pro_L; + if (flag) + { + ixuicheckBox.bChecked = true; + } + else + { + bool flag2 = this._currChoosePro == this._pro_R; + if (flag2) + { + ixuicheckBox2.bChecked = true; + } + else + { + ixuicheckBox3.bChecked = true; + } + } + bool flag3 = XSingleton.singleton.IsExistProf(this._pro_L); + bool flag4 = XSingleton.singleton.IsExistProf(this._pro_R); + bool flag5 = XSingleton.singleton.IsExistProf(this._pro_V); + bool flag6 = flag5; + if (flag6) + { + flag5 = XSkillTreeDocument.IsAvengerTaskDone(this._pro_V); + } + ixuicheckBox.gameObject.SetActive(flag3); + ixuicheckBox2.gameObject.SetActive(flag4); + ixuicheckBox3.gameObject.SetActive(flag5); + bool flag7 = flag3; + if (flag7) + { + ixuicheckBox.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnPreViewCheckBoxClick)); + string profName = XSingleton.singleton.GetProfName(this._pro_L); + IXUILabel ixuilabel = ixuicheckBox.gameObject.transform.Find("TextLabel").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(profName); + ixuilabel = (ixuicheckBox.gameObject.transform.Find("SelectedTextLabel").GetComponent("XUILabel") as IXUILabel); + ixuilabel.SetText(profName); + } + bool flag8 = flag4; + if (flag8) + { + ixuicheckBox2.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnPreViewCheckBoxClick)); + string profName2 = XSingleton.singleton.GetProfName(this._pro_R); + IXUILabel ixuilabel2 = ixuicheckBox2.gameObject.transform.Find("TextLabel").GetComponent("XUILabel") as IXUILabel; + ixuilabel2.SetText(profName2); + ixuilabel2 = (ixuicheckBox2.gameObject.transform.Find("SelectedTextLabel").GetComponent("XUILabel") as IXUILabel); + ixuilabel2.SetText(profName2); + } + bool flag9 = flag5; + if (flag9) + { + ixuicheckBox3.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnPreViewCheckBoxClick)); + string profName3 = XSingleton.singleton.GetProfName(this._pro_V); + IXUILabel ixuilabel3 = ixuicheckBox3.gameObject.transform.Find("TextLabel").GetComponent("XUILabel") as IXUILabel; + ixuilabel3.SetText(profName3); + ixuilabel3 = (ixuicheckBox3.gameObject.transform.Find("SelectedTextLabel").GetComponent("XUILabel") as IXUILabel); + ixuilabel3.SetText(profName3); + } + } + + private void SetupPreViewInfo() + { + List profSkillID = XSingleton.singleton.GetProfSkillID(this._currChoosePro); + this.m_PreViewSkillPool.ReturnAll(false); + Vector3 tplPos = this.m_PreViewSkillPool.TplPos; + IXUICheckBox ixuicheckBox = null; + for (int i = 0; i < profSkillID.Count; i++) + { + SkillList.RowData skillConfig = XSingleton.singleton.GetSkillConfig(profSkillID[i], 0u); + GameObject gameObject = this.m_PreViewSkillPool.FetchGameObject(false); + gameObject.name = profSkillID[i].ToString(); + gameObject.transform.localPosition = new Vector3(tplPos.x, tplPos.y - (float)(i * this.m_PreViewSkillPool.TplHeight)); + IXUISprite ixuisprite = gameObject.transform.Find("Bg").GetComponent("XUISprite") as IXUISprite; + bool flag = skillConfig.SkillType == 2; + if (flag) + { + ixuisprite.SetSprite("JN_dk_0"); + } + else + { + ixuisprite.SetSprite("JN_dk"); + } + IXUISprite ixuisprite2 = gameObject.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite; + ixuisprite2.SetSprite(skillConfig.Icon, skillConfig.Atlas, false); + IXUICheckBox ixuicheckBox2 = gameObject.GetComponent("XUICheckBox") as IXUICheckBox; + ixuicheckBox2.ID = (ulong)profSkillID[i]; + ixuicheckBox2.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnSkillPreViewClick)); + bool flag2 = i == 0; + if (flag2) + { + this._currSkill = (int)profSkillID[i]; + ixuicheckBox = ixuicheckBox2; + this.SetupSkillInfo(); + } + } + bool flag3 = ixuicheckBox != null; + if (flag3) + { + ixuicheckBox.bChecked = true; + } + } + + private bool OnSkillPreViewClick(IXUICheckBox icb) + { + bool flag = !icb.bChecked; + bool result; + if (flag) + { + result = true; + } + else + { + this._currSkill = (int)icb.ID; + this.SetupSkillInfo(); + result = true; + } + return result; + } + + private void SetupSkillInfo() + { + SkillList.RowData skillConfig = XSingleton.singleton.GetSkillConfig((uint)this._currSkill, 0u); + this.m_SkillName.SetText(skillConfig.ScriptName); + this.m_SkillDesc.SetText(skillConfig.CurrentLevelDescription); + this.m_PlayBtn.SetVisible(true); + XSingleton.singleton.SkillShowEnd(this._doc.Dummy); + XSingleton.singleton.SkillShowBegin(this._doc.Dummy, this._doc.BlackHouseCamera); + } + + private void OnPlayBtnClick(IXUISprite iSp) + { + this.PlaySkill(this._currSkill); + } + + private void PlaySkill(int pro) + { + this.m_PlayBtn.SetVisible(false); + XSingleton.singleton.ShowSkill(this._doc.Dummy, (uint)this._currSkill, 0u); + } + + protected bool OnTurnProBtnClick(IXUIButton go) + { + DlgBase.singleton._bHasGrey = false; + DlgBase.singleton.SetVisible(false, true); + DlgBase.singleton.SetSingleButtonMode(false); + DlgBase.singleton.SetLabels(string.Format(XStringDefineProxy.GetString(XStringDefine.SKILL_WILL_PROMOTE), XSingleton.singleton.GetProfName(this._currChoosePro)), XStringDefineProxy.GetString(XStringDefine.COMMON_OK), XStringDefineProxy.GetString(XStringDefine.COMMON_CANCEL)); + DlgBase.singleton.SetModalCallback(new ButtonClickEventHandler(this.OnPromoteConfirmed), null); + DlgBase.singleton.SetTweenTargetAndPlay(DlgBase.singleton.uiBehaviour.gameObject); + return true; + } + + private bool OnPromoteConfirmed(IXUIButton go) + { + RpcC2G_ChooseProfession rpcC2G_ChooseProfession = new RpcC2G_ChooseProfession(); + rpcC2G_ChooseProfession.oArg.prof = (RoleType)this._currChoosePro; + XSingleton.singleton.Send(rpcC2G_ChooseProfession); + DlgBase.singleton.SetVisible(false, true); + return true; + } + + private bool OnGoToTask(IXUIButton btn) + { + bool flag = XSingleton.singleton.SceneType != SceneType.SCENE_HALL; + bool result; + if (flag) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("SKILL_HALL_REQUIRED"), "fece00"); + result = true; + } + else + { + DlgBase.singleton.SetVisible(false, true); + XSingleton.singleton.AddLog("Find Npc ", this._doc.NpcID[(int)(XSingleton.singleton.XPlayerData.TypeID % 10u - 1u)].ToString(), null, null, null, null, XDebugColor.XDebug_None); + XSingleton.singleton.LastNpc = XSingleton.singleton.GetNpc((uint)this._doc.NpcID[(int)(XSingleton.singleton.XPlayerData.TypeID % 10u - 1u)]); + result = true; + } + return result; + } + + private bool OnCanNotGoToTaskClick(IXUIButton btn) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("TURNPROF_LEVELFAIL"), "fece00"); + return true; + } + + public void SetUVRectangle() + { + Rect rect = this._doc.BlackHouseCamera.rect; + rect.y = (rect.y * 357f + 1f) / 357f; + rect.height = (rect.height * 357f - 2f) / 357f; + this.m_Snapshot.SetUVRect(rect); + } + + private bool OnAwakeComplete(IXUIButton btn) + { + XSingleton.singleton.AddLog("Awake Completed", null, null, null, null, null, XDebugColor.XDebug_None); + RpcC2G_ChooseProfession rpcC2G_ChooseProfession = new RpcC2G_ChooseProfession(); + rpcC2G_ChooseProfession.oArg.prof = (RoleType)this._awakePro; + XSingleton.singleton.Send(rpcC2G_ChooseProfession); + return true; + } + + private bool OnGoToAwakeTask(IXUIButton btn) + { + bool flag = XSingleton.singleton.SceneType != SceneType.SCENE_HALL; + bool result; + if (flag) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("SKILL_HALL_REQUIRED"), "fece00"); + result = true; + } + else + { + DlgBase.singleton.SetVisible(false, true); + XSingleton.singleton.AddLog("Find Npc ", this._doc.NpcID[(int)(XSingleton.singleton.XPlayerData.TypeID % 10u - 1u)].ToString(), null, null, null, null, XDebugColor.XDebug_None); + XSingleton.singleton.LastNpc = XSingleton.singleton.GetNpc((uint)this._doc.NpcID[(int)(XSingleton.singleton.XPlayerData.TypeID % 10u - 1u)]); + result = true; + } + return result; + } + + private bool OnCanNotGoToAwakeTaskClick(IXUIButton btn) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("TURNAWAKE_LEVELFAIL"), "fece00"); + return true; + } + } +} -- cgit v1.1-26-g67d0