From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/UI/GuildTerritoryDisplay.cs | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/GuildTerritoryDisplay.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/GuildTerritoryDisplay.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/GuildTerritoryDisplay.cs b/Client/Assets/Scripts/XMainClient/UI/GuildTerritoryDisplay.cs new file mode 100644 index 00000000..1ca6222b --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/GuildTerritoryDisplay.cs @@ -0,0 +1,106 @@ +using System; +using KKSG; +using UILib; +using UnityEngine; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class GuildTerritoryDisplay + { + public Transform transform; + + public IXUILabel mGuildName; + + public IXUISprite mGuildIcon; + + public Transform mOccupy; + + public IXUISprite mTerritoryIcon; + + public IXUILabel mTerritoryName; + + public IXUISprite mTerritorySprite; + + public IXUIButton mTerritoryButton; + + public Transform mCrossGVGPrimary; + + public uint mTerritoryID = 0u; + + public void Init(uint territoryID, Transform t) + { + this.transform = t; + this.mTerritoryID = territoryID; + this.mOccupy = this.transform.Find("guildname/Occupy"); + this.mGuildName = (this.transform.Find("guildname/Occupy/GuildName").GetComponent("XUILabel") as IXUILabel); + this.mGuildIcon = (this.transform.Find("guildname/Occupy/GuildIcon").GetComponent("XUISprite") as IXUISprite); + this.mTerritoryIcon = (this.transform.Find("guildname/Icon").GetComponent("XUISprite") as IXUISprite); + this.mTerritoryName = (this.transform.Find("guildname/Name").GetComponent("XUILabel") as IXUILabel); + this.mTerritorySprite = (this.transform.Find("Sprite").GetComponent("XUISprite") as IXUISprite); + this.mTerritoryButton = (this.transform.GetComponent("XUIButton") as IXUIButton); + this.mTerritoryButton.ID = (ulong)((long)int.Parse(this.transform.name)); + this.mCrossGVGPrimary = this.transform.Find("CrossGVGPrimary"); + this.mTerritoryButton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnTerritoryClick)); + this.Clear(); + } + + private void Clear() + { + this.mOccupy.gameObject.SetActive(false); + this.mCrossGVGPrimary.gameObject.SetActive(false); + } + + public void Refresh() + { + XGuildTerritoryDocument specificDocument = XDocuments.GetSpecificDocument(XGuildTerritoryDocument.uuID); + XCrossGVGDocument specificDocument2 = XDocuments.GetSpecificDocument(XCrossGVGDocument.uuID); + CityData cityData; + bool flag = specificDocument.TryGetCityData(this.mTerritoryID, out cityData); + if (flag) + { + this.mOccupy.gameObject.SetActive(cityData.guildid > 0UL); + this.mGuildName.SetText(cityData.guildname); + XSingleton.singleton.AddGreenLog("cityData Singlon :", cityData.type.ToString(), null, null, null, null); + string sprite; + float alpha; + switch (cityData.type) + { + case GUILDTERRTYPE.ALLIANCE: + sprite = "Guild_icon05"; + alpha = 1f; + goto IL_DD; + case GUILDTERRTYPE.TERR_WARING: + case GUILDTERRTYPE.WAITING: + sprite = "Guild_icon06"; + alpha = 1f; + goto IL_DD; + } + sprite = string.Empty; + alpha = 0f; + IL_DD: + this.mTerritoryIcon.SetAlpha(alpha); + this.mTerritoryIcon.SetSprite(sprite); + this.mTerritoryIcon.MakePixelPerfect(); + uint targetTerrioryType = specificDocument.GetTargetTerrioryType(this.mTerritoryID); + uint @int = (uint)XSingleton.singleton.GetInt("CrossGvgTerrLevel"); + this.mCrossGVGPrimary.gameObject.SetActive(specificDocument2.TimeStep == CrossGvgTimeState.CGVG_Select && targetTerrioryType >= @int); + } + else + { + this.mOccupy.gameObject.SetActive(false); + this.mTerritoryIcon.SetAlpha(0f); + this.mCrossGVGPrimary.gameObject.SetActive(false); + } + } + + private bool OnTerritoryClick(IXUIButton btn) + { + uint uid = (uint)btn.ID; + XGuildTerritoryDocument specificDocument = XDocuments.GetSpecificDocument(XGuildTerritoryDocument.uuID); + specificDocument.SendGuildTerritoryChallInfo(uid); + XSingleton.singleton.AddGreenLog("OnTerritoryClick:", uid.ToString(), null, null, null, null); + return true; + } + } +} -- cgit v1.1-26-g67d0