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))
{
// 直接数字
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) if (index > EventConts.MaxPlayerIds)
{ {
targetId = Random.Range(2, EventConts.MaxPlayerIds); index = 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()); var actor = DataGameSceneManager.Instance.GetTeamActor(index.ToString());
//actor.AddUnitPlayer(data);
data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, index);
actor.AddPlayer(data); actor.AddPlayer(data);
return;
}
} }
} }
@ -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);
// 二次容错 // 二次容错