From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/XMilitaryRankDocument.cs | 201 +++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XMilitaryRankDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/XMilitaryRankDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/XMilitaryRankDocument.cs b/Client/Assets/Scripts/XMainClient/XMilitaryRankDocument.cs new file mode 100644 index 00000000..977394e8 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XMilitaryRankDocument.cs @@ -0,0 +1,201 @@ +using System; +using System.Collections.Generic; +using KKSG; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XMilitaryRankDocument : XDocComponent + { + public override uint ID + { + get + { + return XMilitaryRankDocument.uuID; + } + } + + public MilitaryRankByExploit MilitaryReader + { + get + { + return XMilitaryRankDocument._militaryReader; + } + } + + public MilitaryRankReward MilitarySeasonReader + { + get + { + return XMilitaryRankDocument._militarySeasonReader; + } + } + + public List RankList + { + get + { + return this._rankList; + } + } + + public MilitaryRankData MyData + { + get + { + return this._myData; + } + } + + public new static readonly uint uuID = XSingleton.singleton.XHash("MilitaryRankDocument"); + + private static readonly string MILITARY_ATLAS = "common/Billboard"; + + public int RankShowRange; + + public static XTableAsyncLoader AsyncLoader = new XTableAsyncLoader(); + + public static MilitaryRankByExploit _militaryReader = new MilitaryRankByExploit(); + + private static MilitaryRankReward _militarySeasonReader = new MilitaryRankReward(); + + private List _rankList = new List(); + + private MilitaryRankData _myData = new MilitaryRankData(); + + public MilitaryRecord MyMilitaryRecord = new MilitaryRecord(); + + public static string GetMilitaryRankWithFormat(uint level, string name = "", bool space = false) + { + MilitaryRankByExploit.RowData byMilitaryRank = XMilitaryRankDocument._militaryReader.GetByMilitaryRank(level); + bool flag = byMilitaryRank != null; + string result; + if (flag) + { + if (space) + { + name = XSingleton.singleton.StringCombine(" ", name); + } + result = XSingleton.singleton.StringCombine(XLabelSymbolHelper.FormatImage(XMilitaryRankDocument.MILITARY_ATLAS, byMilitaryRank.Icon), name); + } + else + { + result = name; + } + return result; + } + + public static string GetMilitaryIcon(uint level) + { + MilitaryRankByExploit.RowData byMilitaryRank = XMilitaryRankDocument._militaryReader.GetByMilitaryRank(level); + bool flag = byMilitaryRank != null; + string result; + if (flag) + { + result = byMilitaryRank.Icon; + } + else + { + result = ""; + } + return result; + } + + public void SetMyMilitaryRecord(MilitaryRecord data) + { + bool flag = false; + bool flag2 = XSingleton.singleton.XPlayerData != null && XSingleton.singleton.XPlayerData.MilitaryRank != data.military_rank; + if (flag2) + { + flag = true; + XSingleton.singleton.XPlayerData.MilitaryRank = data.military_rank; + } + this.MyMilitaryRecord.military_rank = data.military_rank; + this.MyMilitaryRecord.military_rank_his = data.military_rank_his; + this.MyMilitaryRecord.military_exploit = data.military_exploit; + this.MyMilitaryRecord.military_exploit_his = data.military_exploit_his; + bool flag3 = flag; + if (flag3) + { + XTitleInfoChange @event = XEventPool.GetEvent(); + @event.Firer = XSingleton.singleton.Player; + XSingleton.singleton.FireEvent(@event); + } + } + + public static void Execute(OnLoadedCallback callback = null) + { + XMilitaryRankDocument.AsyncLoader.AddTask("Table/MilitaryRankByExploit", XMilitaryRankDocument._militaryReader, false); + XMilitaryRankDocument.AsyncLoader.AddTask("Table/MilitaryRankReward", XMilitaryRankDocument._militarySeasonReader, false); + XMilitaryRankDocument.AsyncLoader.Execute(callback); + } + + protected override void EventSubscribe() + { + base.EventSubscribe(); + } + + public override void OnAttachToHost(XObject host) + { + base.OnAttachToHost(host); + this.RankShowRange = int.Parse(XSingleton.singleton.GetValue("MilitaryRankShowRange")); + } + + public override void OnEnterSceneFinally() + { + base.OnEnterSceneFinally(); + } + + public override void OnLeaveScene() + { + base.OnLeaveScene(); + } + + public void QueryRankInfo() + { + RpcC2M_ClientQueryRankListNtf rpcC2M_ClientQueryRankListNtf = new RpcC2M_ClientQueryRankListNtf(); + rpcC2M_ClientQueryRankListNtf.oArg.RankType = (uint)XFastEnumIntEqualityComparer.ToInt(RankeType.MilitaryRank); + XSingleton.singleton.Send(rpcC2M_ClientQueryRankListNtf); + } + + public void OnGetRankInfo(ClientQueryRankListRes oRes) + { + bool flag = oRes.ErrorCode > ErrorCode.ERR_SUCCESS; + if (flag) + { + XSingleton.singleton.ShowSystemTip(oRes.ErrorCode, "fece00"); + } + else + { + this._rankList.Clear(); + for (int i = 0; i < oRes.RankList.RankData.Count; i++) + { + this._rankList.Add(this.TurnRankData2MilitaryData(oRes.RankList.RankData[i], (uint)i)); + } + this._myData = this.TurnRankData2MilitaryData(oRes.RoleRankData, oRes.RoleRankData.Rank); + bool flag2 = DlgBase.singleton.IsVisible(); + if (flag2) + { + DlgBase.singleton.Refresh(); + } + } + } + + private MilitaryRankData TurnRankData2MilitaryData(RankData data, uint rank) + { + return new MilitaryRankData + { + rank = rank, + MilitaryLevel = data.military_info.military_rank, + name = data.RoleName, + MilitaryPoint = data.military_info.military_exploit + }; + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + } + } +} -- cgit v1.1-26-g67d0