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); } }); }
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); } })); } }
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); } }); }
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); } }); } }
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(); }