The event you get back from DoWork carries the leaderboard data. So it should be something like
using namespace Microsoft::Xbox::Services::Statistic::Manager;
using namespace Microsoft::Xbox::Services::Leaderboard;
LeaderboardResultEventArgs^ LbResultEventArgs = safe_cast<LeaderboardResultEventArgs^>(Event->EventArgs);
LeaderboardResult^ LbResult = LbResultEventArgs->Result;
for (LeaderboardRow^ Row : LbResult->Rows)
{
FString RowText = FString::Printf(TEXT("Leaderboard row: User %s, Stats "), Row->Gamertag->Data());
for (int32 i = 0; i < Row->Values->Size; ++i)
{
RowText.Append(FString::Printf(TEXT("(%s : %s) "), LbResult->Columns->GetAt(i)->DisplayName->Data(), Row->Values->GetAt(i)->Data()));
}
UE_LOG_ONLINE(Warning, *RowText);
}
…though once again that’s code that has never been anywhere near a compiler.
Source for the types in the Microsoft::Xbox::Services::Leaderboard namespace is here.
Other than catching the exception for a double add, no. You should consider tracking this in your own code.