From eac8aeed7cea1f7ac5e08a4e231281a6a77b522d Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 22 十月 2025 20:09:50 +0800
Subject: [PATCH] 143 演武场-客户端 只在“没有战斗”和“主线战斗道中”时弹结算界面
---
Main/System/Settlement/BattleSettlementManager.cs | 90 ++++++++++++++++++++++++++++++--------------
1 files changed, 61 insertions(+), 29 deletions(-)
diff --git a/Main/System/Settlement/BattleSettlementManager.cs b/Main/System/Settlement/BattleSettlementManager.cs
index ff81d76..0e2f583 100644
--- a/Main/System/Settlement/BattleSettlementManager.cs
+++ b/Main/System/Settlement/BattleSettlementManager.cs
@@ -1,13 +1,15 @@
锘�
using System.Collections.Generic;
+using System.Linq;
using LitJson;
public partial class BattleSettlementManager : GameSystemManager<BattleSettlementManager>
{
- //缁撶畻鍚庨渶娓呴櫎
+ //缁撶畻鍚庨渶娓呴櫎 <battleName,JsonData>
Dictionary<string, JsonData> battleSettlementDic = new Dictionary<string, JsonData>();
- public string notifyGuid = string.Empty;
+
+ // public string notifyGuid = string.Empty;
public override void Init()
{
@@ -23,31 +25,32 @@
}
-
public void OnBeforePlayerDataInitialize()
{
battleSettlementDic.Clear();
}
-
- //"Msg":{"itemInfo":[{"ItemID":5,"Count":2},{"ItemID":3,"Count":40}],"winFaction":1,"statInfo":{"1":{"1":{"1":{"NPCID":0,"DefHurt":727,"CureHP":0,"AtkHurt":1891,"ObjID":1,"HeroID":530004},"3":{"NPCID":0,"DefHurt":483,"CureHP":1511,"AtkHurt":782,"ObjID":6,"HeroID":520001},"2":{"NPCID":0,"DefHurt":953,"CureHP":0,"AtkHurt":1712,"ObjID":5,"HeroID":510003}}},"2":{"1":{"1":{"NPCID":10101091,"DefHurt":638,"CureHP":0,"AtkHurt":140,"ObjID":2,"HeroID":610001},"3":{"NPCID":10101092,"DefHurt":625,"CureHP":0,"AtkHurt":126,"ObjID":3,"HeroID":610001},"5":{"NPCID":10101093,"DefHurt":3122,"CureHP":0,"AtkHurt":1897,"ObjID":4,"HeroID":510003}}}}}
- public void OnSettlement(string _guid, JsonData _data)
+ public void AddPop(string battleName, int result)
{
- if (string.Empty == _guid)
- return;
-
- battleSettlementDic[_guid] = _data;
- notifyGuid = _guid;
- if (_data.ContainsKey("winFaction"))
+ bool isWin = result == 1;
+ switch (battleName)
{
- var result = (int)_data["winFaction"];
+ case "ArenaBattleField":
+ PopupWindowsProcessor.Instance.Add(isWin ? "ArenaBattleVictoryWin" : "ArenaBattleFailWin", false);
+ break;
+ default:
+ PopupWindowsProcessor.Instance.Add(isWin ? "BattleVictoryWin" : "BattleFailWin", false);
+ break;
+ }
+ }
- var battle = BattleManager.Instance.GetBattleField(_guid);
- if (battle == null)
- return;
- if (battle is ArenaBattleField)
- {
- if (result == 1)
+ public void ShowResultWin(string battleName, int result)
+ {
+ bool isWin = result == 1;
+ switch (battleName)
+ {
+ case "ArenaBattleField":
+ if (isWin)
{
UIManager.Instance.OpenWindow<ArenaBattleVictoryWin>();
}
@@ -55,10 +58,9 @@
{
UIManager.Instance.OpenWindow<ArenaBattleFailWin>();
}
- }
- else
- {
- if (result == 1)
+ break;
+ default:
+ if (isWin)
{
UIManager.Instance.OpenWindow<BattleVictoryWin>();
}
@@ -66,25 +68,55 @@
{
UIManager.Instance.OpenWindow<BattleFailWin>();
}
- }
+ break;
}
}
- public void WinShowOver(string _guid)
+ //"Msg":{"itemInfo":[{"ItemID":5,"Count":2},{"ItemID":3,"Count":40}],"winFaction":1,"statInfo":{"1":{"1":{"1":{"NPCID":0,"DefHurt":727,"CureHP":0,"AtkHurt":1891,"ObjID":1,"HeroID":530004},"3":{"NPCID":0,"DefHurt":483,"CureHP":1511,"AtkHurt":782,"ObjID":6,"HeroID":520001},"2":{"NPCID":0,"DefHurt":953,"CureHP":0,"AtkHurt":1712,"ObjID":5,"HeroID":510003}}},"2":{"1":{"1":{"NPCID":10101091,"DefHurt":638,"CureHP":0,"AtkHurt":140,"ObjID":2,"HeroID":610001},"3":{"NPCID":10101092,"DefHurt":625,"CureHP":0,"AtkHurt":126,"ObjID":3,"HeroID":610001},"5":{"NPCID":10101093,"DefHurt":3122,"CureHP":0,"AtkHurt":1897,"ObjID":4,"HeroID":510003}}}}}
+ public void OnSettlement(string _guid, JsonData _data)
{
- battleSettlementDic.Remove(_guid);
+ if (string.Empty == _guid)
+ return;
var battle = BattleManager.Instance.GetBattleField(_guid);
+ if (battle == null)
+ return;
+ var battleName = battle.ToString();
+ battleSettlementDic[battleName] = _data;
+
+ string activeBattleName = BattleManager.Instance.GetActiveBattleName();
+
+ if (_data.ContainsKey("winFaction"))
+ {
+ var result = (int)_data["winFaction"];
+ if (battleName == activeBattleName)
+ {
+ //鑷繁鍦烘櫙缁撶畻
+ ShowResultWin(battleName, result);
+ }
+ else
+ {
+ AddPop(battleName, result);
+ }
+
+ }
+ }
+
+ public void WinShowOver(string battleName)
+ {
+ battleSettlementDic.Remove(battleName);
+
+ var battle = BattleManager.Instance.GetActiveBattleFieldByName(battleName);
if (battle != null)
battle.WhaleFall();
}
- public JsonData GetBattleSettlement(string _guid)
+ public JsonData GetBattleSettlement(string battleName)
{
- if (!battleSettlementDic.ContainsKey(_guid))
+ if (!battleSettlementDic.ContainsKey(battleName))
{
return null;
}
- return battleSettlementDic[_guid];
+ return battleSettlementDic[battleName];
}
}
--
Gitblit v1.8.0