This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-06-09 11:29:08 +08:00
parent 9afc16f918
commit 20e8880b3f

View File

@ -1,3 +1,4 @@
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -63,7 +64,10 @@ namespace GameLogic
{ {
if (protCustMessageData.content.Contains("加入")) if (protCustMessageData.content.Contains("加入"))
{ {
var number = protCustMessageData.content.Where(c => char.IsDigit(c)).ToArray();
//var number = protCustMessageData.content.Where(c => char.IsDigit(c)).ToArray();
var number = protCustMessageData.content.Substring(2);
Log.Debug(number);
if (number.Length == 0) if (number.Length == 0)
{ {
@ -83,9 +87,7 @@ namespace GameLogic
} }
else else
{ {
int targetId = UnityEngine.Random.Range(2, EventConts.MaxPlayerIds);
int targetId = Random.Range(2, EventConts.MaxPlayerIds);
data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, targetId - 1); data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, targetId - 1);
// 二次容错 // 二次容错
if (data == null) if (data == null)
@ -109,38 +111,20 @@ namespace GameLogic
// } // }
// //actor.AddUnitPlayer(data); // //actor.AddUnitPlayer(data);
//} //}
else else if (int.TryParse(protCustMessageData.content, out int index))
{ {
// 超过最大数
// 直接数字 if (index > EventConts.MaxPlayerIds)
var number = protCustMessageData.content.Where(c => char.IsDigit(c)).ToArray();
if (number.Length == 0)
{ {
Log.Error("No digits found in content: {0}", protCustMessageData.content); index = UnityEngine.Random.Range(2, EventConts.MaxPlayerIds);
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); var actor = DataGameSceneManager.Instance.GetTeamActor(index.ToString());
// 二次容错 //actor.AddUnitPlayer(data);
if (data == null) data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, index);
{ actor.AddPlayer(data);
return; return;
}
var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString());
actor.AddPlayer(data);
}
} }
} }
@ -153,7 +137,7 @@ namespace GameLogic
if (data == null) if (data == null)
{ {
int targetId = Random.Range(2, EventConts.MaxPlayerIds); int targetId = UnityEngine.Random.Range(2, EventConts.MaxPlayerIds);
data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, targetId - 1); data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, targetId - 1);
// 二次容错 // 二次容错