using System; using System.Collections.Generic; using KKSG; using UILib; using UnityEngine; using XMainClient.UI.UICommon; using XUtliPoolLib; namespace XMainClient.UI { internal class GuildTerritoryMainDlg : DlgBase { public override string fileName { get { return "Guild/GuildTerritory/GuildTerritoryMainDlg"; } } public override bool fullscreenui { get { return true; } } private List mTerritoryDisplays; private XGuildTerritoryDocument _Doc; private SeqList TerritoryRewardValues; protected override void Init() { base.Init(); this._Doc = XDocuments.GetSpecificDocument(XGuildTerritoryDocument.uuID); base.uiBehaviour.mWrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.OnItemWrapUpdate)); XSingleton.singleton.AddGreenLog(XSingleton.singleton.GetValue("TerritoryReward"), null, null, null, null, null); this.TerritoryRewardValues = XSingleton.singleton.GetSequenceList("TerritoryReward", false); base.uiBehaviour.mWrapContent.SetContentCount((int)this.TerritoryRewardValues.Count, false); base.uiBehaviour.mContent.SetText(XStringDefineProxy.GetString("TERRITORY_MAIN_DESCRIPTION")); base.uiBehaviour.mCrossGVGDescribe.SetText(XStringDefineProxy.GetString("CrossGVG_selectweek_message")); this.InitTerritoryDisplay(); } public override void RegisterEvent() { base.RegisterEvent(); base.uiBehaviour.mMessage.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickMessage)); base.uiBehaviour.mClose.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickClose)); base.uiBehaviour.mHelp.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnHelpHandler)); base.uiBehaviour.mRwd.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnRwdClick)); } private bool OnHelpHandler(IXUIButton btn) { DlgBase.singleton.ShowHelp(XSysDefine.XSys_GuildTerritory); return false; } private bool OnRwdClick(IXUIButton btn) { DlgBase.singleton.SetVisible(true, true); return false; } public void RefreshData() { int i = 0; int count = this.mTerritoryDisplays.Count; while (i < count) { this.mTerritoryDisplays[i].Refresh(); i++; } bool flag = this._Doc.SelfGuildTerritoryID > 0u; if (flag) { TerritoryBattle.RowData byID = XGuildTerritoryDocument.mGuildTerritoryList.GetByID(this._Doc.SelfGuildTerritoryID); base.uiBehaviour.mTerritoryName.SetText(byID.territoryname); } else { base.uiBehaviour.mTerritoryName.SetText(XStringDefineProxy.GetString("TERRITORY_CURRENT")); } bool flag2 = this._Doc.SelfTargetTerritoryID > 0u; if (flag2) { TerritoryBattle.RowData byID2 = XGuildTerritoryDocument.mGuildTerritoryList.GetByID(this._Doc.SelfTargetTerritoryID); base.uiBehaviour.mTerritoryTarget.SetText(byID2.territoryname); } else { base.uiBehaviour.mTerritoryTarget.SetText(XStringDefineProxy.GetString("TERRITORY_TARGET")); } base.uiBehaviour.mMessage.SetVisible(this._Doc.CurrentType == GUILDTERRTYPE.TERR_END); XCrossGVGDocument specificDocument = XDocuments.GetSpecificDocument(XCrossGVGDocument.uuID); base.uiBehaviour.mCrossGVG.gameObject.SetActive(specificDocument.TimeStep == CrossGvgTimeState.CGVG_Select); } public override void StackRefresh() { this._Doc.SendGuildTerritoryCityInfo(); } protected override void OnShow() { base.OnShow(); this._Doc.SendGuildTerritoryCityInfo(); } private void OnItemWrapUpdate(Transform t, int index) { int num = this.TerritoryRewardValues[index, 0]; XSingleton.singleton.normalItemDrawer.DrawItem(t.gameObject, num, 0, false); IXUISprite ixuisprite = t.Find("Icon").GetComponent("XUISprite") as IXUISprite; Transform transform = t.Find("Flag"); transform.gameObject.SetActive(this.TerritoryRewardValues[index, 1] == 1); ixuisprite.ID = (ulong)((long)num); ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(XSingleton.singleton.OnItemClick)); } private bool OnClickClose(IXUIButton btn) { this.SetVisibleWithAnimation(false, null); return true; } private bool OnClickMessage(IXUIButton btn) { DlgBase.singleton.SetVisibleWithAnimation(true, null); return true; } private void InitTerritoryDisplay() { bool flag = this.mTerritoryDisplays == null; if (flag) { this.mTerritoryDisplays = new List(); } this.mTerritoryDisplays.Clear(); int childCount = base.uiBehaviour.mTerritoryTransform.childCount; for (int i = 0; i < childCount; i++) { Transform child = base.uiBehaviour.mTerritoryTransform.GetChild(i); GuildTerritoryDisplay guildTerritoryDisplay = new GuildTerritoryDisplay(); guildTerritoryDisplay.Init(uint.Parse(child.name), child); this.mTerritoryDisplays.Add(guildTerritoryDisplay); } } } }