From 8d0dd8c699650f8a2caa9203ef177d56c06efb20 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 19 一月 2026 23:25:51 +0800
Subject: [PATCH] 419 【内政】命格系统

---
 Main/System/Team/TeamManager.cs |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/Main/System/Team/TeamManager.cs b/Main/System/Team/TeamManager.cs
index 8daf5c2..4fc2b47 100644
--- a/Main/System/Team/TeamManager.cs
+++ b/Main/System/Team/TeamManager.cs
@@ -6,9 +6,9 @@
 
 public class TeamManager : GameSystemManager<TeamManager>
 {
-	protected Dictionary<TeamType, TeamBase> teamDict = new Dictionary<TeamType, TeamBase>();
+	protected Dictionary<int, TeamBase> teamDict = new Dictionary<int, TeamBase>();
 
-	public Action<TeamType> OnTeamChange = null;
+	public Action<int> OnTeamChange = null;
 
 	public override void Init()
 	{
@@ -31,10 +31,10 @@
 	public void OnHeroChangeEvent(HB124_tagSCHeroPresetInfo vNetData)
 	{
 		var heroPack = PackManager.Instance.GetSinglePack(PackType.Hero);
-		HashSet<TeamType> teamTypeSet = new HashSet<TeamType>();
+		HashSet<int> teamTypeSet = new HashSet<int>();
 		for (int i = 0; i < vNetData.PresetCnt; i++)
 		{
-			TeamType teamType = (TeamType)vNetData.PresetList[i].PresetID;
+			int teamType = vNetData.PresetList[i].PresetID;
 			teamTypeSet.Add(teamType);
 			var team = GetTeam(teamType);
 			for (int j = 0; j < vNetData.PresetList[i].HeroCnt; j++)
@@ -56,7 +56,7 @@
 					hero = HeroManager.Instance.GetHero(item.guid);
 
 				}
-				team.RefreshServerData(vNetData.PresetList[i].ShapeType, j, hero);
+				team.RefreshServerData(j, hero);
 			}
 		}
 
@@ -67,12 +67,13 @@
 	}
 
 
-	public bool HasTeam(TeamType teamType)
+	public bool HasTeam(int teamType)
 	{
 		return teamDict.ContainsKey(teamType);
 	}
 
-	public TeamBase GetTeam(TeamType teamType)
+	//閫氳繃闃靛鏂规ID鑾峰彇闃靛
+	public TeamBase GetTeam(int teamType)
 	{
 		TeamBase team = null;
 
@@ -85,4 +86,31 @@
 
 		return team;
 	}
+
+	//閫氳繃鎴樻枟绫诲瀷鑾峰彇闃靛
+	public TeamBase GetTeam(BattlePreSetType battlePassType)
+	{
+		int presetID = GetTeamID((int)battlePassType);
+		TeamBase team = null;
+
+		if (!teamDict.TryGetValue(presetID, out team))
+		{
+			team = new TeamBase(presetID);
+			// team.CreateDefault(HeroManager.Instance.GetPowerfulHeroList());
+			teamDict.Add(presetID, team);
+		}
+
+		return team;
+	}
+
+	// 鑾峰彇涓婚樀瀹规柟妗圛D
+	public int GetMainTeamID()
+	{
+		return FuncPresetManager.Instance.GetFuncPresetID((int)BattlePreSetType.Story, (int)FuncPresetType.Team);
+	}
+
+	public int GetTeamID(int battleType)
+	{
+		return FuncPresetManager.Instance.GetFuncPresetID(battleType, (int)FuncPresetType.Team);
+	}
 }
\ No newline at end of file

--
Gitblit v1.8.0