private void OnUserStatsReceived(UserStatsReceived_t pCallback) {
if (!SteamManager.Initialized)
return;
// we may get callbacks for other games' stats arriving, ignore them
if ((ulong)m_GameID == pCallback.m_nGameID) {
if (EResult.k_EResultOK == pCallback.m_eResult) {
Debug.Log("Received stats and achievements from Steam\n");
m_bStatsValid = true;
// load achievements
foreach (Achievement_t ach in m_Achievements) {
bool ret = SteamUserStats.GetAchievement(ach.m_eAchievementID.ToString(), out ach.m_bAchieved);
if (ret) {
ach.m_strName = SteamUserStats.GetAchievementDisplayAttribute(ach.m_eAchievementID.ToString(), "name");
ach.m_strDescription = SteamUserStats.GetAchievementDisplayAttribute(ach.m_eAchievementID.ToString(), "desc");
}
else {
Debug.LogWarning("SteamUserStats.GetAchievement failed for Achievement " + ach.m_eAchievementID + "\nIs it registered in the Steam Partner site?");
}
}
// load stats
SteamUserStats.GetStat("NumGames", out m_nTotalGamesPlayed);
SteamUserStats.GetStat("NumWins", out m_nTotalNumWins);
SteamUserStats.GetStat("NumLosses", out m_nTotalNumLosses);
SteamUserStats.GetStat("FeetTraveled", out m_flTotalFeetTraveled);
SteamUserStats.GetStat("MaxFeetTraveled", out m_flMaxFeetTraveled);
SteamUserStats.GetStat("AverageSpeed", out m_flAverageSpeed);
}
else {
Debug.Log("RequestStats - failed, " + pCallback.m_eResult);
}
}
}