/// <summary>
        /// Updates the random drop table configuration for the title
        /// </summary>
        public static void UpdateRandomResultTables(UpdateRandomResultTablesRequest request, Action <UpdateRandomResultTablesResult> resultCallback, Action <PlayFabError> errorCallback, object customData = null)
        {
            if (PlayFabSettings.DeveloperSecretKey == null)
            {
                throw new Exception("Must have PlayFabSettings.DeveloperSecretKey set to call this method");
            }

            PlayFabHttp.MakeApiCall("/Admin/UpdateRandomResultTables", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData);
        }
Beispiel #2
0
        public async Task <bool> UploadDropTables()
        {
            if (string.IsNullOrEmpty(dropTablesPath))
            {
                LogToFile("DropTables File Path is Null ");
                return(true);
            }

            LogToFile("Uploading DropTables...");
            var parsedFile = ParseFile(dropTablesPath);

            var dtDict = JsonWrapper.DeserializeObject <Dictionary <string, RandomResultTableListing> >(parsedFile);

            if (dtDict == null)
            {
                LogToFile("\tAn error occurred deserializing the DropTables.json file.", ConsoleColor.Red);
                return(false);
            }

            var dropTables = new List <RandomResultTable>();

            foreach (var kvp in dtDict)
            {
                dropTables.Add(new RandomResultTable()
                {
                    TableId = kvp.Value.TableId,
                    Nodes   = kvp.Value.Nodes
                });
            }

            var request = new UpdateRandomResultTablesRequest()
            {
                CatalogVersion = defaultCatalog,
                Tables         = dropTables
            };

            if (token.IsCancellationRequested)
            {
                return(true);
            }

            var updateResultTableTask = await PlayFabAdminAPI.UpdateRandomResultTablesAsync(request);

            //updateResultTableTask.Wait();

            if (updateResultTableTask.Error != null)
            {
                OutputPlayFabError("\tDropTable Upload Error: ", updateResultTableTask.Error);
                return(false);
            }

            LogToFile("\tUploaded DropTables!", ConsoleColor.Green);
            return(true);
        }
        private async Task <bool> DropTables(string parsedFile, CancellationToken token)
        {
            var dtDict = JsonWrapper.DeserializeObject <Dictionary <string, RandomResultTableListing> >(parsedFile);

            if (dtDict == null)
            {
                LogToFile("\tAn error occurred deserializing the DropTables.json file.");
                return(false);
            }

            var dropTables = new List <RandomResultTable>();

            foreach (var kvp in dtDict)
            {
                if (IsCancellationRequest(token))
                {
                    return(false);
                }
                dropTables.Add(new RandomResultTable()
                {
                    TableId = kvp.Value.TableId,
                    Nodes   = kvp.Value.Nodes
                });
            }

            var request = new UpdateRandomResultTablesRequest()
            {
                CatalogVersion = defaultCatalog,
                Tables         = dropTables
            };

            var updateResultTableTask = await PlayFabAdminAPI.UpdateRandomResultTablesAsync(request);

            if (updateResultTableTask.Error != null)
            {
                OutputPlayFabError("\tDropTable Upload Error: ", updateResultTableTask.Error);
                return(false);
            }

            LogToFile("\tUploaded DropTables!");
            return(true);
        }