public void FetchMatchingState(GooglePlayGames.BasicApi.DataSource source, QuestFetchFlags flags, Action <GooglePlayGames.BasicApi.ResponseStatus, List <IQuest> > callback) { Misc.CheckNotNull <Action <GooglePlayGames.BasicApi.ResponseStatus, List <IQuest> > >(callback); callback = CallbackUtils.ToOnGameThread <GooglePlayGames.BasicApi.ResponseStatus, List <IQuest> >(callback); this.mManager.FetchList(ConversionUtils.AsDataSource(source), (int)flags, (Action <GooglePlayGames.Native.PInvoke.QuestManager.FetchListResponse>)(response => { GooglePlayGames.BasicApi.ResponseStatus responseStatus = ConversionUtils.ConvertResponseStatus(response.ResponseStatus()); if (!response.RequestSucceeded()) { callback(responseStatus, (List <IQuest>)null); } else { callback(responseStatus, response.Data().Cast <IQuest>().ToList <IQuest>()); } })); }
public void Fetch(GooglePlayGames.BasicApi.DataSource source, string questId, Action <GooglePlayGames.BasicApi.ResponseStatus, IQuest> callback) { Misc.CheckNotNull <string>(questId); Misc.CheckNotNull <Action <GooglePlayGames.BasicApi.ResponseStatus, IQuest> >(callback); callback = CallbackUtils.ToOnGameThread <GooglePlayGames.BasicApi.ResponseStatus, IQuest>(callback); this.mManager.Fetch(ConversionUtils.AsDataSource(source), questId, (Action <GooglePlayGames.Native.PInvoke.QuestManager.FetchResponse>)(response => { GooglePlayGames.BasicApi.ResponseStatus responseStatus = ConversionUtils.ConvertResponseStatus(response.ResponseStatus()); if (!response.RequestSucceeded()) { callback(responseStatus, (IQuest)null); } else { callback(responseStatus, (IQuest)response.Data()); } })); }