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.Generic;
using System.Linq;
@ -63,7 +64,10 @@ namespace GameLogic
{
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)
{
@ -83,9 +87,7 @@ namespace GameLogic
}
else
{
int targetId = Random.Range(2, EventConts.MaxPlayerIds);
int targetId = UnityEngine.Random.Range(2, EventConts.MaxPlayerIds);
data = DataGameSceneManager.Instance.CreateUnitPlayerData(protCustMessageData, targetId - 1);
// 二次容错
if (data == null)
@ -109,38 +111,20 @@ namespace GameLogic
// }
// //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))
else if (int.TryParse(protCustMessageData.content, out int index))
{
// 超过最大数
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);
}
return;
}
}
@ -153,7 +137,7 @@ namespace GameLogic
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);
// 二次容错