Exemplo n.º 1
0
 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 + ")");
         }
     }
 }
Exemplo n.º 2
0
 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);
         }
     });
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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();
                }
            }
        }