Fix sélection de map : débloquer Map01/02/03 (mapRowNamesUnlocked) + squad solo dans TryGetCompleteSquadInfo
Build & Deploy / build (push) Successful in 32s

Sans maps débloquées, le client ne propose/déploie que la 1re map (Bright Sands) quel que soit le choix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
neckfire
2026-08-07 00:27:42 +02:00
co-authored by Claude Opus 4.8
parent 73178ed8c3
commit 5d98768349
2 changed files with 11 additions and 7 deletions
@@ -71,12 +71,11 @@ public class TryGetCompleteSquadInfoFunction : ICloudScriptFunction<TryGetComple
throw new CloudScriptException("CloudScript was not called within a http request");
}
var userId = context.User.FindAuthUserId();
var squad = _squadService.GetByUser(userId);
if (squad == null)
{
// Not in a squad yet — return an empty squad (same as the previous stub).
return Task.FromResult(new FYPlayFabSquad());
}
var squad = _squadService.GetByUser(userId)
// Solo : on matérialise un squad d'un membre (soi-même) pour renvoyer la
// liste des cartes débloquées, sinon le client n'en voit aucune et déploie
// toujours sur la 1re map.
?? _squadService.JoinOrCreate(userId, userId, "");
_logger.LogInformation("TryGetCompleteSquadInfo: user {User} in squad {Squad} ({Count} member(s))", userId, squad.SquadId, squad.Members.Count);
return Task.FromResult(_squadService.ToClientSquad(squad));
}
@@ -25,6 +25,11 @@ public class SquadInfo
public class SquadService
{
// Cartes sélectionnables (rows de la DataTable maps du client) : Bright Sands,
// Crescent Falls, Tharis Island. Sans ça (liste vide), le client ne « débloque »
// que la 1re map et déploie toujours dessus quel que soit le choix.
public static readonly string[] AllMapRows = { "Map01", "Map02", "Map03" };
private readonly ConcurrentDictionary<string, SquadInfo> _squads = new();
private readonly ConcurrentDictionary<string, string> _userToSquad = new();
@@ -92,7 +97,7 @@ public class SquadService
selectedMapName = m.SelectedMap,
isSecretLeader = m.IsLeader,
},
mapRowNamesUnlocked = Array.Empty<string>(),
mapRowNamesUnlocked = AllMapRows,
}).ToArray(),
};
}