From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/XBattleFieldBattleDocument.cs | 129 +++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XBattleFieldBattleDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/XBattleFieldBattleDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/XBattleFieldBattleDocument.cs b/Client/Assets/Scripts/XMainClient/XBattleFieldBattleDocument.cs new file mode 100644 index 00000000..e7adc364 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XBattleFieldBattleDocument.cs @@ -0,0 +1,129 @@ +using System; +using KKSG; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XBattleFieldBattleDocument : XDocComponent + { + public override uint ID + { + get + { + return XBattleFieldBattleDocument.uuID; + } + } + + public static XBattleFieldBattleDocument Doc + { + get + { + return XSingleton.singleton.Doc.GetXComponent(XBattleFieldBattleDocument.uuID) as XBattleFieldBattleDocument; + } + } + + public new static readonly uint uuID = XSingleton.singleton.XHash("XBattleFieldBattleDocument"); + + public XBetterDictionary userIdToRole = new XBetterDictionary(0); + + public BattleFieldBattleHandler battleHandler = null; + + public static readonly int BATTLE_SHOW_RANK = 5; + + public override void OnEnterSceneFinally() + { + bool flag = XSingleton.singleton.SceneType == SceneType.SCENE_BATTLEFIELD_FIGHT; + if (flag) + { + this.ReqBattleInfo(); + } + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + } + + public void ReceiveBattleKillInfo(PvpBattleKill battleKillInfo) + { + GVGBattleSkill gvgbattleSkill = new GVGBattleSkill(); + gvgbattleSkill.killerID = battleKillInfo.killID; + gvgbattleSkill.deadID = battleKillInfo.deadID; + gvgbattleSkill.contiKillCount = battleKillInfo.contiKillCount; + XEntity entityConsiderDeath = XSingleton.singleton.GetEntityConsiderDeath(gvgbattleSkill.killerID); + XEntity entityConsiderDeath2 = XSingleton.singleton.GetEntityConsiderDeath(gvgbattleSkill.deadID); + bool flag = entityConsiderDeath == null || entityConsiderDeath2 == null; + if (flag) + { + XSingleton.singleton.AddErrorLog("Killer id: " + gvgbattleSkill.killerID, " Dead id: " + gvgbattleSkill.deadID, null, null, null, null); + bool flag2 = entityConsiderDeath == null; + if (flag2) + { + XSingleton.singleton.AddErrorLog("kill_en id null", null, null, null, null, null); + } + bool flag3 = entityConsiderDeath2 == null; + if (flag3) + { + XSingleton.singleton.AddErrorLog("dead_en id null", null, null, null, null, null); + } + } + else + { + gvgbattleSkill.killerName = entityConsiderDeath.Name; + gvgbattleSkill.deadName = entityConsiderDeath2.Name; + gvgbattleSkill.killerPosition = XSingleton.singleton.IsAlly(entityConsiderDeath); + DlgBase.singleton.AddBattleSkill(gvgbattleSkill); + XSingleton.singleton.AddGreenLog(string.Format("ReceiveBattleKillInfo:{0} --- ,{1} ,.... {2}", gvgbattleSkill.killerName, gvgbattleSkill.deadName, gvgbattleSkill.contiKillCount), null, null, null, null, null); + } + } + + public void ReqRankData() + { + RpcC2G_BattleFieldRankReq rpc = new RpcC2G_BattleFieldRankReq(); + XSingleton.singleton.Send(rpc); + } + + public void SetRankData(BattleFieldRankArg oArg, BattleFieldRankRes oRes) + { + bool flag = this.battleHandler != null && this.battleHandler.PanelObject != null && this.battleHandler.IsVisible(); + if (flag) + { + this.battleHandler.RefreshRank(oRes.ranks); + } + } + + public void SetReviveTime(PtcG2C_BattleFieldReliveNtf roPtc) + { + bool flag = this.battleHandler == null; + if (!flag) + { + this.battleHandler.SetReviveTime(roPtc.Data.time); + } + } + + public void ReqBattleInfo() + { + RpcC2G_BattleFieldRoleAgainstReq rpc = new RpcC2G_BattleFieldRoleAgainstReq(); + XSingleton.singleton.Send(rpc); + } + + public void SetBattleInfo(BattleFieldRoleAgainst oRes) + { + this.userIdToRole.Clear(); + for (int i = 0; i < oRes.roles.Count; i++) + { + this.userIdToRole[oRes.roles[i].roleid] = oRes.roles[i].name; + } + } + + public void SetTime(PtcG2C_BFFightTimeNtf roPtc) + { + bool flag = DlgBase.singleton.IsLoaded() && roPtc.Data.time > 0u; + if (flag) + { + DlgBase.singleton.SetLeftTime(roPtc.Data.time, -1); + } + } + } +} -- cgit v1.1-26-g67d0