diff --git a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs index 096fdf72..d33b1f1c 100644 --- a/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs +++ b/UnityProject/Assets/GameScripts/HotFix/GameLogic/Manager/DataDanMuSceneManager.cs @@ -4,6 +4,7 @@ using System.Linq; using GameConfig.giftConfig; using TEngine; using UnityEngine; +using static UnityEngine.GraphicsBuffer; namespace GameLogic { @@ -60,108 +61,94 @@ namespace GameLogic if (data == null) { - //data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData); - //// 二次容错 - //if (data == null) - //{ - // return; - //} + // 没有加入过阵营 + if (data.teamId == "-1") + { + // 指令集操作 + if (protCustMessageData.content.Contains("加入")) + { + var number = protCustMessageData.content.Where(c => char.IsDigit(c)).ToArray(); + + if (number.Length == 0) + { + // 检查是否输入姓氏 + foreach (var surname in DataGameSceneManager.Instance.m_Strs) + { + if (protCustMessageData.content.Contains(surname)) + { + int index = DataGameSceneManager.Instance.m_Strs.IndexOf(surname); + var actor = DataGameSceneManager.Instance.GetTeamActor(index.ToString()); + //actor.AddUnitPlayer(data); + data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, index); + actor.AddPlayer(data); + return; + } + } + } + else + { + + int targetId = 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 (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 + { + + // 直接数字 + var number = protCustMessageData.content.Where(c => char.IsDigit(c)).ToArray(); + + if (number.Length == 0) + { + Log.Error("No digits found in content: {0}", protCustMessageData.content); + return; // or handle the error as needed + } + int targetId = -1; + + if (int.TryParse(new string(number), out targetId)) + { + // 超过最大数 + if (targetId > EventConts.MaxPlayerIds) + { + targetId = 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); + + } + } + } } - // if (EventConts.gameStateType == GameStateType.团队赛) - // { - // // 没有加入过阵营 - // if (data.teamId == "-1") - // { - // // 指令集操作 - // if (protCustMessageData.content.Contains("加入")) - // { - // var number = protCustMessageData.content.Where(c => char.IsDigit(c)).ToArray(); - - // if (number.Length == 0) - // { - // // 检查是否输入姓氏 - // foreach (var surname in DataGameSceneManager.Instance.m_Strs) - // { - // if (protCustMessageData.content.Contains(surname)) - // { - // int index = DataGameSceneManager.Instance.m_Strs.IndexOf(surname); - // var actor = DataGameSceneManager.Instance.GetTeamActor(index.ToString()); - // actor.AddUnitPlayer(data); - // return; - // } - // } - // } - // else - // { - - // int targetId = int.Parse(new string(number)); - // // 超过最大数 - // if (targetId > EventConts.MaxPlayerIds) - // { - // targetId = Random.Range(targetId, EventConts.MaxPlayerIds); - // } - // var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString()); - // actor.AddUnitPlayer(data); - // } - - // } - // 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 - // { - - // // 直接数字 - // var number = protCustMessageData.content.Where(c => char.IsDigit(c)).ToArray(); - - // if (number.Length == 0) - // { - // Log.Error("No digits found in content: {0}", protCustMessageData.content); - // return; // or handle the error as needed - // } - // int targetId = -1; - - // if (int.TryParse(new string(number), out targetId)) - // { - // // 超过最大数 - // if (targetId > EventConts.MaxPlayerIds) - // { - // targetId = Random.Range(targetId, EventConts.MaxPlayerIds); - // } - - // var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString()); - // actor.AddUnitPlayer(data); - - // Log.Info("玩家 {0} , 进攻 {1}", data.protCustMessageData.nickName, targetId); - // } - // } - // } - // else - // { - // // 加入过阵营 - // var actor = DataGameSceneManager.Instance.GetTeamActor(data.teamId); - // } - // } - // else if (EventConts.gameStateType == GameStateType.个人赛) - // { - // var actor = DataGameSceneManager.Instance.GetTeamActor(data.teamId); - // if (actor == null) - // { - // actor = DataGameSceneManager.Instance.CraeteTeamActor(data); - // actor.AddUnitPlayer(data); - // } - // } - - } private void OnGiftInfo(ProtCustMessageData protCustMessageData)