From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/Guild/XGuildSkillStudyHandle.cs | 179 +++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/Guild/XGuildSkillStudyHandle.cs (limited to 'Client/Assets/Scripts/XMainClient/Guild/XGuildSkillStudyHandle.cs') diff --git a/Client/Assets/Scripts/XMainClient/Guild/XGuildSkillStudyHandle.cs b/Client/Assets/Scripts/XMainClient/Guild/XGuildSkillStudyHandle.cs new file mode 100644 index 00000000..44245719 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/Guild/XGuildSkillStudyHandle.cs @@ -0,0 +1,179 @@ +using System; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XGuildSkillStudyHandle : DlgHandlerBase + { + protected override string FileName + { + get + { + return "Guild/GuildGrowth/GuildBuffLevelupPanel"; + } + } + + private IXUISprite m_SkillIcon; + + private IXUILabel m_SkillName; + + private IXUILabel m_CurrentSkillLevel; + + private IXUILabel m_NextSkillLevel; + + private IXUILabel m_CurrentSkillAttr; + + private IXUILabel m_NextSkillAttr; + + private IXUILabel m_MaxSlillLevel; + + private IXUILabel m_UseGuildExp; + + private IXUILabel m_CurrentGuildExp; + + private IXUIButton m_StudyButton; + + private IXUISprite m_maskSprite; + + private IXUISlider m_costProgress; + + private XGuildSkillDocument _Doc = null; + + private bool m_onSend = false; + + protected override void Init() + { + base.Init(); + this._Doc = XDocuments.GetSpecificDocument(XGuildSkillDocument.uuID); + this.m_SkillIcon = (base.PanelObject.transform.Find("Icon").GetComponent("XUISprite") as IXUISprite); + this.m_SkillName = (base.PanelObject.transform.Find("Name").GetComponent("XUILabel") as IXUILabel); + this.m_CurrentSkillLevel = (base.PanelObject.transform.Find("CurrentLevel").GetComponent("XUILabel") as IXUILabel); + this.m_NextSkillLevel = (base.PanelObject.transform.Find("CurrentLevel/NextLevel").GetComponent("XUILabel") as IXUILabel); + this.m_MaxSlillLevel = (base.PanelObject.transform.Find("MaxLevel").GetComponent("XUILabel") as IXUILabel); + this.m_CurrentSkillAttr = (base.PanelObject.transform.Find("CurrentAttr").GetComponent("XUILabel") as IXUILabel); + this.m_NextSkillAttr = (base.PanelObject.transform.Find("CurrentAttr/NextAttr").GetComponent("XUILabel") as IXUILabel); + this.m_UseGuildExp = (base.PanelObject.transform.Find("UseExp").GetComponent("XUILabel") as IXUILabel); + this.m_CurrentGuildExp = (base.PanelObject.transform.Find("CostRed").GetComponent("XUILabel") as IXUILabel); + this.m_StudyButton = (base.PanelObject.transform.Find("Study").GetComponent("XUIButton") as IXUIButton); + this.m_maskSprite = (base.PanelObject.transform.Find("Mask").GetComponent("XUISprite") as IXUISprite); + this.m_costProgress = (base.PanelObject.transform.Find("CostRed/CostProgress").GetComponent("XUISlider") as IXUISlider); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + this.m_maskSprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnCloseClick)); + this.m_StudyButton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnStudyClick)); + } + + public void ShowEffectDetailInfo() + { + XSingleton.singleton.CreateAndPlay("Effects/FX_Particle/UIfx/UI_qianghua_03", this.m_SkillIcon.gameObject.transform, Vector3.zero, Vector3.one, 1f, true, 1f, true); + this.SetDetailInfo(); + } + + public void SetDetailInfo() + { + uint currentSkillID = this._Doc.CurrentSkillID; + uint skillMaxLevel = this._Doc.GetSkillMaxLevel(currentSkillID); + uint level = this._Doc.GuildDoc.Level; + GuildSkillTable.RowData guildSkill = this._Doc.GetGuildSkill(currentSkillID, skillMaxLevel); + GuildSkillTable.RowData guildSkill2 = this._Doc.GetGuildSkill(currentSkillID, skillMaxLevel + 1u); + this.m_SkillIcon.SetSprite(guildSkill.icon, guildSkill.atlas, false); + this.m_SkillName.SetText(guildSkill.name); + this.m_CurrentSkillLevel.SetText(string.Format("{0} {1}", XStringDefineProxy.GetString("XAttr_Level"), skillMaxLevel)); + this.m_NextSkillLevel.SetText((skillMaxLevel + 1u).ToString()); + this.m_CurrentSkillAttr.SetText(string.Format(guildSkill.currentLevelDescription, guildSkill.attribute[0, 1])); + this.m_NextSkillAttr.SetText(guildSkill2.attribute[0, 1].ToString()); + uint num = XGuildDocument.GuildConfig.GetTotalStudyCount((int)guildSkill.glevel, (int)level) + this._Doc.GetGuildSkillInitLevel(guildSkill.skillid); + this.m_MaxSlillLevel.SetText(XStringDefineProxy.GetString("GUILD_SKILL_MAX_UP_VALUE", new object[] + { + num + })); + this.m_UseGuildExp.SetText(guildSkill2.rexp.ToString()); + this.SetGuildExp(this._Doc.GuildDoc.CurrentTotalExp, this._Doc.LastGuildExp); + uint maxLevel = XGuildDocument.GuildConfig.MaxLevel; + bool flag = skillMaxLevel < num; + if (flag) + { + int rexp = (int)guildSkill2.rexp; + bool flag2 = this._Doc.LastGuildExp < rexp; + if (flag2) + { + this.m_StudyButton.SetGrey(false); + } + else + { + this.m_StudyButton.SetGrey(true); + } + } + else + { + this.m_StudyButton.SetGrey(false); + } + this.m_onSend = true; + } + + private void SetGuildExp(uint totalExp, int curExp) + { + this.m_CurrentGuildExp.SetText(string.Format("{0}/{1}", curExp, totalExp)); + float value = (totalExp > 0u) ? ((float)curExp / totalExp) : 0f; + this.m_costProgress.Value = value; + } + + private void OnCloseClick(IXUISprite sprite) + { + base.SetVisible(false); + } + + private bool OnStudyClick(IXUIButton btn) + { + bool flag = !this.m_onSend; + bool result; + if (flag) + { + result = false; + } + else + { + uint maxLevel = XGuildDocument.GuildConfig.MaxLevel; + uint level = this._Doc.GuildDoc.Level; + uint skillMaxLevel = this._Doc.GetSkillMaxLevel(this._Doc.CurrentSkillID); + GuildSkillTable.RowData guildSkill = this._Doc.GetGuildSkill(this._Doc.CurrentSkillID, skillMaxLevel + 1u); + uint num = XGuildDocument.GuildConfig.GetTotalStudyCount((int)guildSkill.glevel, (int)level) + this._Doc.GetGuildSkillInitLevel(guildSkill.skillid); + bool flag2 = skillMaxLevel < num; + if (flag2) + { + int rexp = (int)guildSkill.rexp; + bool flag3 = this._Doc.LastGuildExp < rexp; + if (flag3) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("GUILD_SKILL_UNDER_EXP"), "fece00"); + } + else + { + this._Doc.GetStudyGuildSkill(this._Doc.CurrentSkillID); + this.m_onSend = false; + } + } + else + { + bool flag4 = maxLevel == level; + if (flag4) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("GUILD_SKILL_MAX_ALLMAX"), "fece00"); + } + else + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("GUILD_SKILL_MAX_CURMAX"), "fece00"); + } + } + result = true; + } + return result; + } + } +} -- cgit v1.1-26-g67d0