From 95ecfaf12e4ee13ba4c3af55c43b2b1c1d51eb94 Mon Sep 17 00:00:00 2001 From: "DESKTOP-SAJ6RKV\\Administrator" Date: Thu, 3 Jul 2025 15:56:12 +0800 Subject: [PATCH] 1 --- .../Manager/DataDanMuSceneManager.cs | 62 +++++++++++++++---- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs index 2572e271..22ecec9c 100644 --- a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs +++ b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs @@ -115,17 +115,57 @@ namespace GameLogic } } - //else if (protCustMessageData.content.Contains("666")) - //{ - // int targetId = Random.Range(1, EventConts.MaxPlayerIds); - // var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString()); - // if (actor == null) - // { - // Log.Error("没有获取到实体玩家,tid = {0}", targetId); - // return; - // } - // //actor.AddUnitPlayer(data); - //} + else if (protCustMessageData.content.Contains("加")) + { + var number = protCustMessageData.content.Substring(1); + + if (number.Length >= 1) + { + // 检查是否输入姓氏 + foreach (var surname in DataGameSceneManager.Instance.m_Strs) + { + if (protCustMessageData.content.Contains(surname)) + { + int index = DataGameSceneManager.Instance.m_Strs.IndexOf(surname); + Log.Debug("玩家输入了姓氏: {0},索引: {1}", surname, index); + data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, index + 1); + var actor = DataGameSceneManager.Instance.GetTeamActor((index + 1).ToString()); + //actor.AddUnitPlayer(data); + actor.AddPlayer(data); + return; + } + else if (int.TryParse(number, out int index)) + { + // 超过最大数 + if (index > EventConts.MaxPlayerIds) + { + index = UnityEngine.Random.Range(2, EventConts.MaxPlayerIds); + } + + + var actor = DataGameSceneManager.Instance.GetTeamActor(index.ToString()); + //actor.AddUnitPlayer(data); + data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, index); + actor.AddPlayer(data); + return; + } + } + } + else + { + int targetId = UnityEngine.Random.Range(2, EventConts.MaxPlayerIds); + data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, targetId - 1); + // 二次容错 + if (data == null) + { + return; + } + + var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString()); + actor.AddPlayer(data); + } + + } else if (int.TryParse(protCustMessageData.content, out int index)) { // 超过最大数