/// <summary> /// Instructs the PlayFab game server hosting service to instantiate a new Game Server Instance /// </summary> public static void StartGame(StartGameRequest request, ProcessApiCallback <StartGameResponse> resultCallback, ErrorCallback errorCallback, object customData = null) { if (PlayFabSettings.DeveloperSecretKey == null) { throw new Exception("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); } string serializedJson = SimpleJson.SerializeObject(request, Util.ApiSerializerStrategy); Action <CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer <StartGameResponse> .HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHTTP.Post("/Matchmaker/StartGame", serializedJson, "X-SecretKey", PlayFabSettings.DeveloperSecretKey, callback, request, customData); }
/// <summary> /// Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or null will return currently logged in user. /// </summary> public static void GetLeaderboardAroundPlayer(GetLeaderboardAroundPlayerRequest request, ProcessApiCallback<GetLeaderboardAroundPlayerResult> resultCallback, ErrorCallback errorCallback, object customData = null) { if (_authKey == null) throw new Exception("Must be logged in to call this method"); string serializedJson = SimpleJson.SerializeObject(request, Util.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<GetLeaderboardAroundPlayerResult>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHTTP.Post("/Client/GetLeaderboardAroundPlayer", serializedJson, "X-Authorization", _authKey, callback, request, customData); }
/// <summary> /// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to change the password /// </summary> public static void SendAccountRecoveryEmail(SendAccountRecoveryEmailRequest request, ProcessApiCallback<SendAccountRecoveryEmailResult> resultCallback, ErrorCallback errorCallback, object customData = null) { string serializedJson = SimpleJson.SerializeObject(request, Util.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<SendAccountRecoveryEmailResult>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHTTP.Post("/Client/SendAccountRecoveryEmail", serializedJson, null, null, callback, request, customData); }
/// <summary> /// Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which require an authenticated user. You must supply either a username or an email address. /// </summary> public static void RegisterPlayFabUser(RegisterPlayFabUserRequest request, ProcessApiCallback<RegisterPlayFabUserResult> resultCallback, ErrorCallback errorCallback, object customData = null) { request.TitleId = request.TitleId ?? PlayFabSettings.TitleId; if (request.TitleId == null) throw new Exception("Must be have PlayFabSettings.TitleId set to call this method"); string serializedJson = SimpleJson.SerializeObject(request, Util.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<RegisterPlayFabUserResult>.HandleResults(requestContainer, resultCallback, errorCallback, RegisterPlayFabUserResultAction); }; PlayFabHTTP.Post("/Client/RegisterPlayFabUser", serializedJson, null, null, callback, request, customData); }
/// <summary> /// Writes a character-based event into PlayStream. /// </summary> public static void WriteCharacterEvent(WriteClientCharacterEventRequest request, ProcessApiCallback<WriteEventResponse> resultCallback, ErrorCallback errorCallback, object customData = null) { if (_authKey == null) throw new Exception("Must be logged in to call this method"); string serializedJson = SimpleJson.SerializeObject(request, Util.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<WriteEventResponse>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHTTP.Post("/Client/WriteCharacterEvent", serializedJson, "X-Authorization", _authKey, callback, request, customData); }
/// <summary> /// Unlinks the related Xbox Live account from the user's PlayFab account /// </summary> public static void UnlinkXboxAccount(UnlinkXboxAccountRequest request, ProcessApiCallback<UnlinkXboxAccountResult> resultCallback, ErrorCallback errorCallback, object customData = null) { if (_authKey == null) throw new Exception("Must be logged in to call this method"); string serializedJson = JsonConvert.SerializeObject(request, Util.JsonFormatting, Util.JsonSettings); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<UnlinkXboxAccountResult>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHTTP.Post("/Client/UnlinkXboxAccount", serializedJson, "X-Authorization", _authKey, callback, request, customData); }
/// <summary> /// Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be used for API calls which require an authenticated user /// </summary> public static void LoginWithXbox(LoginWithXboxRequest request, ProcessApiCallback<LoginResult> resultCallback, ErrorCallback errorCallback, object customData = null) { request.TitleId = request.TitleId ?? PlayFabSettings.TitleId; if (request.TitleId == null) throw new Exception("Must be have PlayFabSettings.TitleId set to call this method"); string serializedJson = JsonConvert.SerializeObject(request, Util.JsonFormatting, Util.JsonSettings); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<LoginResult>.HandleResults(requestContainer, resultCallback, errorCallback, LoginWithXboxResultAction); }; PlayFabHTTP.Post("/Client/LoginWithXbox", serializedJson, null, null, callback, request, customData); }