// If you put invalid ones first but that's your fault for not using sensible defaults
if (loadouts.Count < groupProto.MinLimit)
{
- for (var i = 0; i < Math.Min(groupProto.MinLimit, groupProto.Loadouts.Count); i++)
+ foreach (var protoId in groupProto.Loadouts)
{
- if (!protoManager.TryIndex(groupProto.Loadouts[i], out var loadoutProto))
+ if (loadouts.Count >= groupProto.MinLimit)
+ break;
+
+ if (!protoManager.TryIndex(protoId, out var loadoutProto))
continue;
var defaultLoadout = new Loadout()
if (groupProto.MinLimit > 0)
{
// Apply any loadouts we can.
- var addedCount = 0;
foreach (var protoId in groupProto.Loadouts)
{
// Reached the limit, time to stop
- if (addedCount >= groupProto.MinLimit)
+ if (loadouts.Count >= groupProto.MinLimit)
break;
if (!protoManager.TryIndex(protoId, out var loadoutProto))
loadouts.Add(defaultLoadout);
Apply(loadoutProto);
- addedCount++;
}
}
}