Ejemplo n.º 1
0
        public void ClaimMilestone(IQuestMilestone milestone,
                               Action<QuestClaimMilestoneStatus, IQuest, IQuestMilestone> callback)
        {
            Misc.CheckNotNull(milestone);
            Misc.CheckNotNull(callback);
            callback = CallbackUtils.ToOnGameThread<QuestClaimMilestoneStatus, IQuest, IQuestMilestone>(
                callback);

            var convertedMilestone = milestone as NativeQuestMilestone;

            if (convertedMilestone == null)
            {
                GooglePlayGames.OurUtils.Logger.e("Encountered milestone that was not generated by this IQuestClient");
                callback(QuestClaimMilestoneStatus.BadInput, null, null);
                return;
            }

            mManager.ClaimMilestone(convertedMilestone, response =>
                {
                    if (response.RequestSucceeded())
                    {
                        callback(QuestClaimMilestoneStatus.Success, response.Quest(),
                            response.ClaimedMilestone());
                    }
                    else
                    {
                        callback(FromClaimStatus(response.ResponseStatus()), null, null);
                    }
                });
        }
Ejemplo n.º 2
0
        public void ClaimMilestone(IQuestMilestone milestone, Action <GooglePlayGames.BasicApi.Quests.QuestClaimMilestoneStatus, IQuest, IQuestMilestone> callback)
        {
            Misc.CheckNotNull <IQuestMilestone>(milestone);
            Misc.CheckNotNull <Action <GooglePlayGames.BasicApi.Quests.QuestClaimMilestoneStatus, IQuest, IQuestMilestone> >(callback);
            callback = CallbackUtils.ToOnGameThread <GooglePlayGames.BasicApi.Quests.QuestClaimMilestoneStatus, IQuest, IQuestMilestone>(callback);
            NativeQuestMilestone milestone1 = milestone as NativeQuestMilestone;

            if (milestone1 == null)
            {
                Logger.e("Encountered milestone that was not generated by this IQuestClient");
                callback(GooglePlayGames.BasicApi.Quests.QuestClaimMilestoneStatus.BadInput, (IQuest)null, (IQuestMilestone)null);
            }
            else
            {
                this.mManager.ClaimMilestone(milestone1, (Action <GooglePlayGames.Native.PInvoke.QuestManager.ClaimMilestoneResponse>)(response =>
                {
                    if (response.RequestSucceeded())
                    {
                        callback(GooglePlayGames.BasicApi.Quests.QuestClaimMilestoneStatus.Success, (IQuest)response.Quest(), (IQuestMilestone)response.ClaimedMilestone());
                    }
                    else
                    {
                        callback(NativeQuestClient.FromClaimStatus(response.ResponseStatus()), (IQuest)null, (IQuestMilestone)null);
                    }
                }));
            }
        }
Ejemplo n.º 3
0
        public void ClaimMilestone(IQuestMilestone milestone,
                                   Action <QuestClaimMilestoneStatus, IQuest, IQuestMilestone> callback)
        {
            Misc.CheckNotNull(milestone);
            Misc.CheckNotNull(callback);
            callback = CallbackUtils.ToOnGameThread <QuestClaimMilestoneStatus, IQuest, IQuestMilestone>(
                callback);

            var convertedMilestone = milestone as NativeQuestMilestone;

            if (convertedMilestone == null)
            {
                Logger.e("Encountered milestone that was not generated by this IQuestClient");
                callback(QuestClaimMilestoneStatus.BadInput, null, null);
                return;
            }

            mManager.ClaimMilestone(convertedMilestone, response =>
            {
                if (response.RequestSucceeded())
                {
                    callback(QuestClaimMilestoneStatus.Success, response.Quest(),
                             response.ClaimedMilestone());
                }
                else
                {
                    callback(FromClaimStatus(response.ResponseStatus()), null, null);
                }
            });
        }
Ejemplo n.º 4
0
        public void ClaimMilestone(IQuestMilestone milestone, Action <QuestClaimMilestoneStatus, IQuest, IQuestMilestone> callback)
        {
            Misc.CheckNotNull(milestone);
            Misc.CheckNotNull(callback);
            callback = CallbackUtils.ToOnGameThread(callback);
            NativeQuestMilestone nativeQuestMilestone = milestone as NativeQuestMilestone;

            if (nativeQuestMilestone == null)
            {
                Logger.e("Encountered milestone that was not generated by this IQuestClient");
                callback(QuestClaimMilestoneStatus.BadInput, null, null);
            }
            else
            {
                mManager.ClaimMilestone(nativeQuestMilestone, delegate(GooglePlayGames.Native.PInvoke.QuestManager.ClaimMilestoneResponse response)
                {
                    if (response.RequestSucceeded())
                    {
                        callback(QuestClaimMilestoneStatus.Success, response.Quest(), response.ClaimedMilestone());
                    }
                    else
                    {
                        callback(FromClaimStatus(response.ResponseStatus()), null, null);
                    }
                });
            }
        }
Ejemplo n.º 5
0
 private void ClaimMilestone(IQuestMilestone toClaim)
 {
     Debug.Log("Claiming Milestone: " + toClaim);
     PlayGamesPlatform.Instance.Quests.ClaimMilestone(toClaim,
                                                      (QuestClaimMilestoneStatus status, IQuest quest, IQuestMilestone milestone) =>
     {
         if (status == QuestClaimMilestoneStatus.Success)
         {
             statusText.text = "Milestone Claimed";
         }
         else
         {
             statusText.text = "Milestone Claim Failed: " + status;
         }
     });
 }
 private void ClaimMilestone(IQuestMilestone toClaim)
 {
     Debug.Log("Claiming Milestone: " + toClaim);
     PlayGamesPlatform.Instance.Quests.ClaimMilestone(toClaim,
         (QuestClaimMilestoneStatus status, IQuest quest, IQuestMilestone milestone) =>
         {
             if (status == QuestClaimMilestoneStatus.Success)
             {
                 statusText.text = "Milestone Claimed";
             }
             else
             {
                 statusText.text = "Milestone Claim Failed: " + status;
             }
         });
 }
    internal void ShowQuestsAndEventsUi()
    {
        if (mQuest != null)
        {
            mStatus = "Selected Quest: " + mQuest.Id + "\n";
        }

        if (mQuestMilestone != null)
        {
            mStatus += "Selected Milestone: " + mQuestMilestone.Id;
        }

        DrawStatus();
        DrawTitle("Quests and Events");

        if (GUI.Button(CalcGrid(0, 1), "Fetch All Events"))
        {
            SetStandBy("Fetching All Events");
            PlayGamesPlatform.Instance.Events.FetchAllEvents(
                DataSource.ReadNetworkOnly,
                (status, events) =>
                {
                    mStatus = "Fetch All Status: " + status + "\n";
                    mStatus += "Events: [" +
                    string.Join(",", events.Select(g => g.Id).ToArray()) + "]";
                    events.ForEach(e => Logger.d("Retrieved event: " + e.ToString()));
                    EndStandBy();
                });
        }
        else if (GUI.Button(CalcGrid(1, 1), "Fetch Event"))
        {
            SetStandBy("Fetching Event");
            PlayGamesPlatform.Instance.Events.FetchEvent(
                DataSource.ReadNetworkOnly,
                Settings.Event,
                (status, fetchedEvent) =>
                {
                    mStatus = "Fetch Status: " + status + "\n";
                    if (fetchedEvent != null)
                    {
                        mStatus += "Event: [" + fetchedEvent.Id + ", " + fetchedEvent.Description + "]";
                        Logger.d("Fetched event: " + fetchedEvent.ToString());
                    }

                    EndStandBy();
                });
        }
        else if (GUI.Button(CalcGrid(0, 2), "Increment Event"))
        {
            PlayGamesPlatform.Instance.Events.IncrementEvent(Settings.Event, 10);
        }

        if (GUI.Button(CalcGrid(1, 2), "Fetch Open Quests"))
        {
            FetchQuestList(QuestFetchFlags.Open);
        }
        else if (GUI.Button(CalcGrid(0, 3), "Fetch Upcoming Quests"))
        {
            FetchQuestList(QuestFetchFlags.Upcoming);
        }
        else if (GUI.Button(CalcGrid(1, 3), "Fetch Accepted Quests"))
        {
            FetchQuestList(QuestFetchFlags.Accepted);
        }
        else if (GUI.Button(CalcGrid(0, 4), "Show All Quests UI"))
        {
            SetStandBy("Showing all Quest UI");
            mQuest = null;
            mQuestMilestone = null;
            PlayGamesPlatform.Instance.Quests.ShowAllQuestsUI(HandleQuestUI);
        }
        else if (GUI.Button(CalcGrid(1, 4), "Show Quest UI"))
        {
            if (mQuest == null)
            {
                mStatus = "Could not show Quest UI - no quest selected";
            }
            else
            {
                PlayGamesPlatform.Instance.Quests.ShowSpecificQuestUI(mQuest, HandleQuestUI);
            }
        }
        else if (GUI.Button(CalcGrid(0, 5), "Fetch Quest"))
        {
            if (mQuest == null)
            {
                mStatus = "Could not fetch Quest - no quest selected";
            }
            else
            {
                SetStandBy("Fetching Quest");
                PlayGamesPlatform.Instance.Quests.Fetch(
                    DataSource.ReadNetworkOnly,
                    mQuest.Id,
                    (status, quest) =>
                    {
                        mStatus = "Fetch Quest Status: " + status + "\n";
                        mQuest = quest;
                        Logger.d("Fetched quest " + quest);
                        EndStandBy();
                    });
            }
        }
        else if (GUI.Button(CalcGrid(1, 5), "Accept Quest"))
        {
            if (mQuest == null)
            {
                mStatus = "Could not accept Quest - no quest selected";
            }
            else
            {
                SetStandBy("Accepting quest");
                PlayGamesPlatform.Instance.Quests.Accept(
                    mQuest,
                    (status, quest) =>
                    {
                        mStatus = "Accept Quest Status: " + status + "\n";
                        mQuest = quest;
                        Logger.d("Accepted quest " + quest);
                        EndStandBy();
                    });
            }
        }
        else if (GUI.Button(CalcGrid(0, 6), "Claim Milestone"))
        {
            if (mQuestMilestone == null)
            {
                mStatus = "Could not claim milestone - no milestone selected";
            }
            else
            {
                SetStandBy("Claiming milestone");
                PlayGamesPlatform.Instance.Quests.ClaimMilestone(
                    mQuestMilestone,
                    (status, quest, milestone) =>
                    {
                        mStatus = "Claim milestone Status: " + status + "\n";
                        mQuest = quest;
                        mQuestMilestone = milestone;
                        Logger.d("Claim quest: " + quest);
                        Logger.d("Claim milestone: " + milestone);
                        EndStandBy();
                    });
            }
        }

        if (GUI.Button(CalcGrid(1, 6), "Back"))
        {
            mUi = Ui.Main;
        }
    }
    internal void HandleQuestUI(QuestUiResult result, IQuest quest, IQuestMilestone milestone)
    {
        mStatus = "Show UI Status: " + mStatus + "\n";
        Logger.d("UI Status: " + result);
        if (quest != null)
        {
            mQuest = quest;
            mStatus += "User wanted to accept quest " + quest.Id;
            Logger.d("User Accepted quest " + quest.ToString());
        }
        else if (milestone != null)
        {
            mQuestMilestone = milestone;
            mStatus += "User wanted to claim milestone " + milestone.Id;
            Logger.d("Claimed milestone " + milestone.ToString());
            Logger.d("Completion data: " +
                System.Text.ASCIIEncoding.Default.GetString(milestone.CompletionRewardData));
        }

        EndStandBy();
    }