private void OnAchievementStored(UserAchievementStored_t callback) { if ((ulong)_gameID == callback.m_nGameID) { if (0 == callback.m_nMaxProgress) { TBServiceManager.UpdateAchievementList(callback.m_rgchAchievementName, true); Debug.Log("Achievement '" + callback.m_rgchAchievementName + "' unlocked!"); } else { Debug.Log("Achievement '" + callback.m_rgchAchievementName + "' progress callback, (" + callback.m_nCurProgress + "," + callback.m_nMaxProgress + ")"); } } }
public override void UnlockAchievement(string token) { base.UnlockAchievement(token); Achievements.Unlock(token).OnComplete((Message <AchievementUpdate> msg) => { if (msg.IsError) { Debug.LogError("Oculus Platform services encountered an error while trying to unlock the achievement!"); } else { TBLogging.LogMessage("Achievement unlocked!"); TBServiceManager.UpdateAchievementList(token, msg.Data.JustUnlocked); } }); }
public override Dictionary <string, bool> GetAchievementDictionary() { Dictionary <string, bool> achievements = new Dictionary <string, bool>(); Achievements.GetAllDefinitions().OnComplete((Message <AchievementDefinitionList> msg) => { if (msg.IsError) { TBLogging.LogWarning("Failed to get Oculus achievement dictionary from server"); } else { TBLogging.LogMessage("Received Oculus achievement dictionary from server with " + msg.Data.Count + " entries"); } for (int i = 0; i < msg.Data.Count; i++) { achievements.Add(msg.Data[i].Name, false); } Achievements.GetAllProgress().OnComplete((Message <AchievementProgressList> msg2) => { if (msg2.IsError) { TBLogging.LogWarning("Failed to get Oculus achievement progress from server"); } else { TBLogging.LogMessage("Received Oculus achievement progress dictionary from server with " + msg.Data.Count + " entries"); } for (int j = 0; j < msg2.Data.Count; j++) { bool unlocked = false; if (achievements.TryGetValue(msg2.Data[j].Name, out unlocked)) { achievements[msg2.Data[j].Name] = unlocked; TBLogging.LogMessage("Achievement " + msg2.Data[j].Name + " is unlocked."); } } TBServiceManager.SetAchievementList(achievements); }); }); return(achievements); }
protected virtual void EvalEntitlement(bool passed) { if (passed) { Debug.Log("Verified entitlement check for " + TBServiceManager.GetActiveService()); TBServiceManager.OnEntitlementCheckComplete(); } else { Debug.LogError("Failed entitlement check for " + TBServiceManager.GetActiveService()); if (TBServiceManager.Events.OnEntitlementCheckComplete != null) { TBServiceManager.Events.OnEntitlementCheckComplete(false); } else { Application.Quit(); } } }