Partial MatchController that decides which club help hint to show by checking match, career and menu state, and marks a topic as seen when dismissed. Help topic visibility is stored in GamePreferences.
using Socer;
public sealed partial class MatchController
{
// Pure, constant-time lookup. A hint never advances the career or pauses a match.
public ClubHelpTopic ActiveClubHelp
{
get
{
if(Career==null || !ClubOpen || TutorialStep>=0 || GameSettingsOpen || PreparingMatch ||
MatchModeSelection || QuickBroadcastOpen || QuickMatchRunning || IsRulesPreview ||
StrategyLabOpen || RelegationChoiceOpen || Career.HasRelegationChoice || MediaLeagueActive)return ClubHelpTopic.None;
var topic=ClubHelp.ForPage(ClubPage);
return GamePreferences.HasSeenClubHelp(topic)?ClubHelpTopic.None:topic;
}
}
public void DismissClubHelp()
{
var topic=ActiveClubHelp;
if(topic!=ClubHelpTopic.None)GamePreferences.MarkClubHelpSeen(topic);
}
}