multithreaded ragfair and botgen

This commit is contained in:
Alex
2025-01-27 20:57:47 +00:00
parent a63365fc11
commit 87dd6f6e0f
4 changed files with 139 additions and 68 deletions
+20 -10
View File
@@ -149,21 +149,31 @@ public class BotController(
_pmcConfig.AllPMCsHavePlayerNameWithRandomPrefixChance
);
var tasks = new List<Task>();
// Map conditions to promises for bot generation
foreach (var condition in request.Conditions ?? [])
{
var botGenerationDetails = GetBotGenerationDetailsForWave(
condition,
pmcProfile,
allPmcsHaveSameNameAsPlayer,
raidSettings,
_botConfig.PresetBatch!.GetValueOrDefault(condition.Role, 15),
_botHelper.IsBotPmc(condition.Role)
);
tasks.Add(
Task.Factory.StartNew(
() =>
{
var botGenerationDetails = GetBotGenerationDetailsForWave(
condition,
pmcProfile,
allPmcsHaveSameNameAsPlayer,
raidSettings,
_botConfig.PresetBatch!.GetValueOrDefault(condition.Role, 15),
_botHelper.IsBotPmc(condition.Role)
);
// Generate bots for the current condition
GenerateWithBotDetails(condition, botGenerationDetails, sessionId);
// Generate bots for the current condition
GenerateWithBotDetails(condition, botGenerationDetails, sessionId);
}
)
);
}
Task.WaitAll(tasks.ToArray());
return [];
}