private void AddPlayerFetch(String name)
{
if (!EnableBattlelogRequests) return;
if (String.IsNullOrEmpty(name)) return;
PlayerModel player = GetPlayer(name);
if (player == null) return;
if (player.TagFetchStatus.State != FetchState.New && player.TagFetchStatus.State != FetchState.InQueue) {
DebugFetch("Cannot refetch tag for player ^b" + player.Name + "^n, previous result was " + player.TagFetchStatus.State);
if (WhichBattlelogStats == BattlelogStats.ClanTagOnly) return;
}
if (player.StatsFetchStatus.State != FetchState.New && player.TagFetchStatus.State != FetchState.InQueue) {
DebugFetch("Cannot refetch stats for player ^b" + player.Name + "^n, previous result was " + player.StatsFetchStatus.State);
return;
}
player.TagFetchStatus.State = FetchState.InQueue;
player.StatsFetchStatus.State = FetchState.InQueue;
lock (fPriorityFetchQ) {
if (!fPriorityFetchQ.Contains(name)) {
fPriorityFetchQ.Enqueue(name);
Monitor.Pulse(fPriorityFetchQ);
}
}
}