public void GetAccountInfo(Action <JSONObject> callback, Action <string> errorCallback) { JSONObject body = JSONObject.Create(); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetAccountInfo", body, callback, errorCallback); QueueCommand(cmd); }
public void GetPlayFabToFacebookIdMapping(List <string> facebookIds, Action <Dictionary <string, string> > callback, Action <string> errorCallback) { if (facebookIds.Count == 0) { callback(new Dictionary <string, string>()); return; } JSONObject jSONObject = JSONObject.Create(); JSONObject jSONObject2 = new JSONObject(JSONObject.Type.ARRAY); foreach (string facebookId in facebookIds) { jSONObject2.Add(facebookId); } jSONObject.AddField("FacebookIDs", jSONObject2); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetPlayFabIDsFromFacebookIDs", jSONObject, delegate(JSONObject json) { Dictionary <string, string> obj = (from e in json.asJSONObject("Data", JSONObject.Type.ARRAY).list where e.HasField("PlayFabId") && e.HasField("FacebookId") select e).ToDictionary((JSONObject e) => e.asString("PlayFabId", () => string.Empty), (JSONObject e) => e.asString("FacebookId", () => string.Empty)); callback(obj); }, errorCallback); QueueCommand(cmd); }
public void GetFriendLeaderboard(string statisticName, Action <Leaderboard> callback, Action <string> errorCallback, int maxResultsCount, bool useSpecificVersion = false, int version = 0) { JSONObject request = JSONObject.Create(); request.AddField("StatisticName", statisticName); request.AddField("StartPosition", 0); request.AddField("MaxResultsCount", maxResultsCount); request.AddField("UseSpecificVersion", useSpecificVersion); request.AddField("IncludeFacebookFriends", val: true); request.AddField("Version", version); request.AddField("ProfileConstraints", GetProfileConstraints()); Action <Leaderboard> aroundPlayer = delegate(Leaderboard lb) { PlayFabCommand cmd2 = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetFriendLeaderboardAroundPlayer", request, delegate(JSONObject json2) { callback(lb.WithEntries(LeaderboardFromJSON(json2).Entries)); }, errorCallback); QueueCommand(cmd2); }; PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetFriendLeaderboard", request, delegate(JSONObject json) { aroundPlayer(LeaderboardFromJSON(json)); }, errorCallback); QueueCommand(cmd); }
public void GetUserData(Action <JSONObject> callback, Action <string> errorCallback) { JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("Keys", "Base"); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetUserData", jSONObject, callback, errorCallback); QueueCommand(cmd); }
public void LoginAndGetInfo(JSONObject loginRequest, string loginEndpoint, Action <JSONObject> callback, Action <string> errorCallback, bool createAccount = true) { loginRequest.AddField("TitleId", PersistentSingleton <GameSettings> .Instance.PlayFabTitleId); loginRequest.AddField("CreateAccount", createAccount); loginRequest.AddField("InfoRequestParameters", GetLoginInfoRequestParameters()); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + loginEndpoint, loginRequest, callback, errorCallback); QueueCommand(cmd); }
public void LinkFacebookAccount(AccessToken access, Action <JSONObject> callback, Action <string> errorCallback) { JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("AccessToken", access.TokenString); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "LinkFacebookAccount", jSONObject, callback, errorCallback); QueueCommand(cmd); }
public void LinkCustomId(string customId, bool force, string sessionTicket, Action <JSONObject> callback, Action <string> errorCallback) { JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("CustomId", customId); jSONObject.AddField("ForceLink", force); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "LinkCustomID", jSONObject, callback, errorCallback, sessionTicket); QueueCommand(cmd); }
public void UpdateUserDisplayName(string name, Action <JSONObject> callback, Action <string> errorCallback) { name = name.PadRight(3, ' '); name = name.Substring(0, Mathf.Min(name.Length, 25)); JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("DisplayName", name); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "UpdateUserTitleDisplayName", jSONObject, callback, errorCallback); QueueCommand(cmd); }
public void UpdatePlayerStatistic(JSONObject statistic, Action <JSONObject> callback, Action <string> errorCallback) { JSONObject jSONObject = JSONObject.Create(); jSONObject.Add(statistic); JSONObject jSONObject2 = JSONObject.Create(); jSONObject2.AddField("Statistics", jSONObject); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "UpdatePlayerStatistics", jSONObject2, callback, errorCallback); QueueCommand(cmd); }
private void ClaimSession(Action <JSONObject> callback, Action <string> errorCallback) { JSONObject jSONObject = JSONObject.Create(); JSONObject jSONObject2 = JSONObject.Create(); jSONObject2.AddField("SessionOwnerDeviceId", GetSystemUniqueIdentifier()); jSONObject.AddField("Data", jSONObject2); jSONObject.AddField("Permission", "Private"); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "UpdateUserData", jSONObject, callback, errorCallback); QueueCommand(cmd); }
public void LoginWithFacebook(AccessToken access, bool createAccount, Action <JSONObject> callback, Action <string> errorCallback) { JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("TitleId", PersistentSingleton <GameSettings> .Instance.PlayFabTitleId); jSONObject.AddField("CreateAccount", createAccount); jSONObject.AddField("InfoRequestParameters", GetLoginInfoRequestParameters()); jSONObject.AddField("AccessToken", access.TokenString); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "LoginWithFacebook", jSONObject, callback, errorCallback); QueueCommand(cmd); }
public void ExecuteCloudScript(string functionName, Action <JSONObject> callback, Action <string> errorCallback, JSONObject parameters = null) { JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("FunctionName", functionName); jSONObject.AddField("GeneratePlayStreamEvent", val: true); if (parameters != null) { jSONObject.AddField("FunctionParameter", parameters); } PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "ExecuteCloudScript", jSONObject, callback, errorCallback); QueueCommand(cmd); }
public void GetFacebookToPlayFabID(string facebookId, Action <string> callback, Action <string> errorCallback) { JSONObject jSONObject = JSONObject.Create(); JSONObject jSONObject2 = new JSONObject(JSONObject.Type.ARRAY); jSONObject2.Add(facebookId); jSONObject.AddField("FacebookIDs", jSONObject2); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetPlayFabIDsFromFacebookIDs", jSONObject, delegate(JSONObject json) { Dictionary <string, string> dictionary = (from e in json.asJSONObject("Data", JSONObject.Type.ARRAY).list where e.HasField("PlayFabId") && e.HasField("FacebookId") select e).ToDictionary((JSONObject e) => e.asString("FacebookId", () => string.Empty), (JSONObject e) => e.asString("PlayFabId", () => string.Empty)); callback((!dictionary.ContainsKey(facebookId)) ? string.Empty : dictionary[facebookId]); }, errorCallback); QueueCommand(cmd); }
public void GetLeaderboard(string statisticName, int startPosition, Action <Leaderboard> callback, Action <string> errorCallback, int maxResultsCount, bool useSpecificVersion = false, int version = 0) { JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("StatisticName", statisticName); jSONObject.AddField("StartPosition", startPosition); jSONObject.AddField("MaxResultsCount", maxResultsCount); jSONObject.AddField("UseSpecificVersion", useSpecificVersion); jSONObject.AddField("IncludeFacebookFriends", val: true); jSONObject.AddField("Version", version); jSONObject.AddField("ProfileConstraints", GetProfileConstraints()); PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetLeaderboard", jSONObject, delegate(JSONObject json) { callback(LeaderboardFromJSON(json)); }, errorCallback); QueueCommand(cmd); }
public void GetTournamentLeaderboard(string statisticName, Action <Leaderboard> callback, Action <string> errorCallback, int maxResultsCount, bool useSpecificVersion = false, int version = 0) { JSONObject jSONObject = JSONObject.Create(); jSONObject.AddField("StatisticName", statisticName); jSONObject.AddField("PlayFabId", "D1E872B9C9DA0648"); jSONObject.AddField("MaxResultsCount", 1); jSONObject.AddField("UseSpecificVersion", useSpecificVersion); jSONObject.AddField("Version", version); Action <Leaderboard> fromLeaderboardPoint = delegate(Leaderboard lb) { int val = 0; if (lb.Entries[0].Position.Value > maxResultsCount) { val = UnityEngine.Random.Range(0, lb.Entries[0].Position.Value - maxResultsCount); } JSONObject jSONObject2 = JSONObject.Create(); jSONObject2.AddField("StatisticName", statisticName); jSONObject2.AddField("StartPosition", val); jSONObject2.AddField("MaxResultsCount", maxResultsCount); jSONObject2.AddField("UseSpecificVersion", useSpecificVersion); jSONObject2.AddField("Version", version); jSONObject2.AddField("ProfileConstraints", GetProfileConstraints()); PlayFabCommand cmd2 = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetLeaderboard", jSONObject2, delegate(JSONObject json2) { callback(LeaderboardFromJSON(json2)); }, errorCallback); QueueCommand(cmd2); }; PlayFabCommand cmd = new PlayFabCommand(PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetLeaderboardAroundPlayer", jSONObject, delegate(JSONObject json) { fromLeaderboardPoint(LeaderboardFromJSON(json)); }, errorCallback); QueueCommand(cmd); }
private IEnumerator QueueRoutine() { while (true) { yield return(null); if (m_commandQueue.Count > 0 && m_commandInFlight == null) { m_commandInFlight = m_commandQueue.Dequeue(); } if (m_commandInFlight == null) { m_hasCommandsInFlight.Value = false; continue; } m_hasCommandsInFlight.Value = true; m_commandInFlight.Tries++; Dictionary <string, string> headers = new Dictionary <string, string> { ["Content-Type"] = "application/json" }; string resolvedSessionTicket = (m_commandInFlight.OverrideSessionTicket != null) ? m_commandInFlight.OverrideSessionTicket : m_sessionTicket; if (resolvedSessionTicket != null) { headers["X-Authentication"] = resolvedSessionTicket; } WWW www = new WWW(m_commandInFlight.Url, Encoding.UTF8.GetBytes(m_commandInFlight.Body.ToString()), headers); yield return(www); string error = www.error; if (m_commandInFlight == null) { continue; } if (error != null) { if (m_commandInFlight.Url == PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "UpdateUserTitleDisplayName" || m_commandInFlight.Url == PersistentSingleton <GameSettings> .Instance.PlayFabUrl + "GetFriendLeaderboard") { if (m_commandInFlight.ErrorCallback != null) { m_commandInFlight.ErrorCallback(error); } m_commandInFlight = null; } yield return(new WaitForSeconds(5f)); if (m_commandInFlight != null && m_commandInFlight.Tries >= 3) { if (m_commandInFlight.ErrorCallback != null) { m_commandInFlight.ErrorCallback(error); } ClearCmdQueue(); Login(); } } else { if (m_commandInFlight.Callback != null) { m_commandInFlight.Callback(ResponseToJSON(www)); } m_commandInFlight = null; } } }
private void QueueCommand(PlayFabCommand cmd) { m_commandQueue.Enqueue(cmd); }
public void ClearCmdQueue() { m_commandInFlight = null; m_commandQueue.Clear(); }