示例#1
0
        public static void UpdateDropTableData(string titleId, List <RandomResultTable> dropTables, Action <bool> callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var task = PlayFabAdminAPI.UpdateRandomResultTablesAsync(new PlayFab.AdminModels.UpdateRandomResultTablesRequest()
            {
                Tables = dropTables
            }
                                                                     )
                       .ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false);
                    return;
                }
                if (result.IsCompleted)
                {
                    callback(true);
                }
            });
        }
示例#2
0
        public static void GetStoreData(string titleId, string storeId, Action <bool, string, string, StoreMarketingModel, List <PlayFab.AdminModels.StoreItem> > callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var task = PlayFabAdminAPI.GetStoreItemsAsync(new PlayFab.AdminModels.GetStoreItemsRequest()
            {
                StoreId = storeId
            })
                       .ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                if (result.Result.Error != null)
                {
                    Console.WriteLine("Get Store Error: " + PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false, null, null, null, null);
                    return;
                }
                if (result.IsCompleted)
                {
                    var version        = result.Result.Result.CatalogVersion;
                    var marketingModel = result.Result.Result.MarketingData;
                    var currentStoreId = result.Result.Result.StoreId;
                    callback(true, version, currentStoreId, marketingModel, result.Result.Result.Store);
                }
            });
        }
示例#3
0
        public static void GetDropTableData(string titleId, Action <bool, Dictionary <string, PlayFab.AdminModels.RandomResultTableListing> > callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var task = PlayFabAdminAPI.GetRandomResultTablesAsync(new PlayFab.AdminModels.GetRandomResultTablesRequest())
                       .ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                Task <PlayFabResult <PlayFab.AdminModels.GetRandomResultTablesResult> > taskC = result as Task <PlayFabResult <PlayFab.AdminModels.GetRandomResultTablesResult> >;
                if (taskC.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(taskC.Result.Error));
                    callback(false, null);
                    return;
                }
                if (result.IsCompleted)
                {
                    callback(true, taskC.Result.Result.Tables);
                }
            });
        }
示例#4
0
        public static void UpdateCatalogData(string titleId, string catalogVersion, bool isDefault, List <PlayFab.AdminModels.CatalogItem> catalog, Action <bool> callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            var task = PlayFabAdminAPI.SetCatalogItemsAsync(new PlayFab.AdminModels.UpdateCatalogItemsRequest()
            {
                Catalog             = catalog,
                CatalogVersion      = catalogVersion,
                SetAsDefaultCatalog = isDefault
            })
                       .ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false);
                    return;
                }
                if (result.IsCompleted)
                {
                    callback(true);
                }
            });
        }
示例#5
0
        public static void GetContentList(string titleId, Action <bool, List <ContentInfo> > callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var task = PlayFabAdminAPI.GetContentListAsync(new GetContentListRequest())
                       .ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false, null);
                    return;
                }
                if (result.IsCompleted)
                {
                    callback(true, result.Result.Result.Contents);
                }
            });
        }
示例#6
0
        public static void UpdateStoreData(string titleId, string storeId, string catalogVersion, StoreMarketingModel marketingModel, List <PlayFab.AdminModels.StoreItem> store, Action <bool> callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            Console.WriteLine("Updating Store: " + storeId + " on title" + titleId);
            var task = PlayFabAdminAPI.SetStoreItemsAsync(new PlayFab.AdminModels.UpdateStoreItemsRequest()
            {
                CatalogVersion = catalogVersion,
                StoreId        = storeId,
                MarketingData  = marketingModel,
                Store          = store
            })
                       .ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                if (result.Result.Error != null)
                {
                    Console.WriteLine("Update Store Error: " + PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false);
                    return;
                }
                if (result.IsCompleted)
                {
                    callback(true);
                }
            });
        }
示例#7
0
        async public static Task <bool> UpdateTitleInternalData(string titleId, KeyValuePair <string, string> key)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var result = await PlayFabServerAPI.SetTitleInternalDataAsync(new SetTitleDataRequest()
            {
                Key   = key.Key,
                Value = key.Value
            });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(false);
            }
            return(true);
        }
示例#8
0
        async public static Task <bool> UpdateStoreData(string titleId, string storeId, string catalogVersion, StoreMarketingModel marketingModel, List <PlayFab.AdminModels.StoreItem> store)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            //Console.WriteLine("Updating Store: " + storeId + " on title" + titleId);
            var result = await PlayFabAdminAPI.SetStoreItemsAsync(new PlayFab.AdminModels.UpdateStoreItemsRequest()
            {
                CatalogVersion = catalogVersion,
                StoreId        = storeId,
                MarketingData  = marketingModel,
                Store          = store
            });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine("Update Store Error: " + PlayFabUtil.GetErrorReport(result.Error));
                return(false);
            }
            return(true);
        }
示例#9
0
        async public static Task <GetStoreItemsResult> GetStoreData(string titleId, string storeId)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var result = await PlayFabAdminAPI.GetStoreItemsAsync(new PlayFab.AdminModels.GetStoreItemsRequest()
            {
                StoreId = storeId
            });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine("Get Store Error: " + PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }
            //var version = result.Result.CatalogVersion;
            //var marketingModel = result.Result.MarketingData;
            //var currentStoreId = result.Result.StoreId;

            return(result.Result);
        }
示例#10
0
        public static void GetTitleInternalData(string titleID, Action <bool, GetTitleDataResult> callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleID);

            PlayFabSettings.TitleId            = titleID;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            var task = PlayFabServerAPI.GetTitleInternalDataAsync(new GetTitleDataRequest()).ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false, null);
                    return;
                }
                if (result.IsCompleted)
                {
                    callback(true, result.Result.Result);
                }
            });
        }
示例#11
0
        public static void UpdateTitleInternalData(string titleId, KeyValuePair <string, string> key, Action <bool> callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var task = PlayFabServerAPI.SetTitleInternalDataAsync(new SetTitleDataRequest()
            {
                Key   = key.Key,
                Value = key.Value
            }).ContinueWith(
                (result) =>
            {
                PlayFabSettings.TitleId            = currentPlayFabTitleId;
                PlayFabSettings.DeveloperSecretKey = currentDevKey;
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false);
                    return;
                }
                if (result.IsCompleted)
                {
                    callback(true);
                }
            });
        }
示例#12
0
        // NOTE: If there is an existing catalog with the version number in question, it will be deleted and replaced with only the items specified in this call.
        async public static Task <bool> UpdateCatalogData(string titleId, string catalogVersion, bool isDefault, List <PlayFab.AdminModels.CatalogItem> catalog)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            var result = await PlayFabAdminAPI.SetCatalogItemsAsync(new PlayFab.AdminModels.UpdateCatalogItemsRequest()
            {
                Catalog             = catalog,
                CatalogVersion      = catalogVersion,
                SetAsDefaultCatalog = isDefault
            });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(false);
            }
            return(true);
        }
示例#13
0
        public static void Login(string user, string pass, Action <bool, string> callback)
        {
            var loginTask = PlayFabExtensions.Login(new LoginRequest()
            {
                Email    = user,
                Password = pass,
                DeveloperToolProductName    = "PlayFabPowerTools CLI",
                DeveloperToolProductVersion = "1.01"
            }).ContinueWith((result) =>
            {
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false, null);
                    return;
                }

                if (result.IsCompleted)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("Login Successful");
                    DeveloperClientToken = result.Result.Result.DeveloperClientToken;
                    callback(true, DeveloperClientToken);
                }
            });
        }
        public static bool ExecuteCloudScript <TIn, TOut>(string functionName, TIn functionParameter, out TOut result, out string errorReport)
        {
            // Perform the request
            var request = new ExecuteCloudScriptRequest
            {
                FunctionName      = functionName,
                FunctionParameter = functionParameter
            };
            var task = PlayFabClientAPI.ExecuteCloudScriptAsync(request);

            task.Wait();
            errorReport = PlayFabUtil.GetErrorReport(task.Result.Error) ?? "";

            if (task.Result.Result != null && task.Result.Result.Error != null)
            {
                errorReport += task.Result.Result.Error.Error + task.Result.Result.Error.Message + "\n" + task.Result.Result.Error.StackTrace;
            }

            if (task.Result.Result != null && task.Result.Result.Logs != null)
            {
                foreach (var eachLog in task.Result.Result.Logs)
                {
                    if (errorReport.Length != 0)
                    {
                        errorReport += "\n";
                    }
                    if (eachLog.Data != null)
                    {
                        // Api failure within cloudscript log
                        string json = JsonConvert.SerializeObject(eachLog.Data, Formatting.Indented);
                        errorReport += eachLog.Level + ": " + eachLog.Message + "\n" + json;
                    }
                    else
                    {
                        // Normal cloudscript log
                        errorReport += eachLog.Level + ": " + eachLog.Message;
                    }
                }
            }

            if (task.Result.Error != null)
            {
                result = default(TOut);
            }
            else
            {
                // Re-serialize as the target type
                string json = JsonConvert.SerializeObject(task.Result.Result.FunctionResult, Formatting.Indented);
                try
                {
                    result = JsonConvert.DeserializeObject <TOut>(json, PlayFabUtil.JsonSettings);
                }
                catch (Exception)
                {
                    throw new Exception("Could not serialize text: \"" + json + "\" as " + typeof(TOut).Name);
                }
            }
            return(task.Result.Error == null && task.Result.Result.Error == null);
        }
示例#15
0
        private static void OntitlenewsComplete(Task <PlayFabResult <GetTitleNewsResult> > taskResult)
        {
            //Task<PlayFabResult<LoginResult>> task = taskResult;
            Task task = null;

            //TaskScheduler uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
            //CancellationTokenSource taskCancelSource = new CancellationTokenSource();
            //CancellationToken taskToken = taskCancelSource.Token;
            task = Task.Factory.StartNew(() =>
            {
                PlayFabSettings.TitleId = "850C";

                var apiError  = taskResult.Result.Error;
                var apiResult = taskResult.Result.Result;
                Console.WriteLine("HELLO" + apiError);
                var apiErrorCode = PlayFabUtil.GetErrorReport(apiError);
                Console.WriteLine("3");
                if (apiError != null)
                {
                    //Console.ForegroundColor = ConsoleColor.Red; // Make the error more visible
                    //Console.WriteLine("Something went wrong with your first API call.  :(");
                    MessageBox.Show("Something went wrong with your first API call.  :(");
                    //Console.WriteLine("Here's some debug information:");
                    Console.WriteLine(PlayFabUtil.GetErrorReport(apiError));
                    //Console.ForegroundColor = ConsoleColor.Gray; // Reset to normal
                    Console.WriteLine("4");
                }
                else if (apiResult != null)
                {
                    //  Console.WriteLine("Congratulations, you made your first successful API call!");
                    //MessageBox.Show("" + apiResult.News);
                    foreach (var news in apiResult.News)
                    {
                        Console.WriteLine(news.Body);
                        MessageBox.Show("" + news.Body);
                    }
                }
            });


            //    }, CancellationToken.None, TaskCreationOptions.None, uiScheduler);



            //taskResult = Task<PlayFabResult<LoginResult>>.WaitAll();
            //                    Task.WaitAll(new[] { taskResult});

            Console.WriteLine("6");
        }
示例#16
0
        private static void OntitledataComplete(Task <PlayFabResult <GetTitleDataResult> > taskResult)
        {
            //Task<PlayFabResult<LoginResult>> task = taskResult;
            Task task = null;

            //TaskScheduler uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
            //CancellationTokenSource taskCancelSource = new CancellationTokenSource();
            //CancellationToken taskToken = taskCancelSource.Token;
            task = Task.Factory.StartNew(() =>
            {
                try
                {
                    var apiError  = taskResult.Result.Error;
                    var apiResult = taskResult.Result.Result;
                    Console.WriteLine("HELLO" + apiError);
                    var apiErrorCode = PlayFabUtil.GetErrorReport(apiError);
                    Console.WriteLine("3");
                    if (apiError != null)
                    {
                        //Console.ForegroundColor = ConsoleColor.Red; // Make the error more visible
                        //Console.WriteLine("Something went wrong with your first API call.  :(");
                        MessageBox.Show("Something went wrong with your first API call.  :(");
                        //Console.WriteLine("Here's some debug information:");
                        Console.WriteLine(PlayFabUtil.GetErrorReport(apiError));
                        //Console.ForegroundColor = ConsoleColor.Gray; // Reset to normal
                        Console.WriteLine("4");
                    }
                    else if (apiResult != null)
                    {
                        Console.WriteLine("Congratulations, you made your first successful API call!");
                        MessageBox.Show("Congratulations, you made your first successful API call!" + "TaskResult Status" + taskResult.Status + "TaskResult" + taskResult.Result.Result.Data + taskResult.Result.ToString());
                        foreach (KeyValuePair <string, string> entry in taskResult.Result.Result.Data)
                        {
                            MessageBox.Show(entry.Value);
                        }
                    }
                }
                catch (AggregateException ae)
                {
                    MessageBox.Show("" + ae);
                }
            });
        }
示例#17
0
        public static void DownloadFile(string titleId, string path, ContentInfo content, Action <bool, string, ContentInfo> callback)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            PlayFabServerAPI.GetContentDownloadUrlAsync(new GetContentDownloadUrlRequest()
            {
                Key        = content.Key,
                HttpMethod = "GET"
            }).ContinueWith((result) =>
            {
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false, null, null);
                    return;
                }

                if (result.IsCompleted)
                {
                    var folderPathArray = content.Key.Split('/');
                    var fileName        = folderPathArray.ToList().Last();

                    var filePath = string.Format("{0}\\{1}", path, fileName);
                    PlayFabExtensions.DownloadFile(result.Result.Result.URL, filePath, (success) =>
                    {
                        PlayFabSettings.TitleId            = currentPlayFabTitleId;
                        PlayFabSettings.DeveloperSecretKey = currentDevKey;
                        if (success)
                        {
                            callback(true, filePath, content);
                            return;
                        }
                        callback(false, null, null);
                    });
                }
            });
        }
示例#18
0
 private static void ContinueWithContext <T>(Task <PlayFabResult <T> > srcTask, UUnitTestContext testContext, Action <PlayFabResult <T>, UUnitTestContext, string> continueAction, bool expectSuccess, string failMessage, bool endTest) where T : PlayFabResultCommon
 {
     srcTask.ContinueWith(task =>
     {
         var failed = true;
         try
         {
             if (expectSuccess)
             {
                 testContext.NotNull(task.Result, failMessage);
                 testContext.IsNull(task.Result.Error, PlayFabUtil.GetErrorReport(task.Result.Error));
                 testContext.NotNull(task.Result.Result, failMessage);
             }
             if (continueAction != null)
             {
                 continueAction.Invoke(task.Result, testContext, failMessage);
             }
             failed = false;
         }
         catch (UUnitSkipException uu)
         {
             // Silence the assert and ensure the test is marked as complete - The exception is just to halt the test process
             testContext.EndTest(UUnitFinishState.SKIPPED, uu.Message);
         }
         catch (UUnitException uu)
         {
             // Silence the assert and ensure the test is marked as complete - The exception is just to halt the test process
             testContext.EndTest(UUnitFinishState.FAILED, uu.Message + "\n" + uu.StackTrace);
         }
         catch (Exception e)
         {
             // Report this exception as an unhandled failure in the test
             testContext.EndTest(UUnitFinishState.FAILED, e.ToString());
         }
         if (!failed && endTest)
         {
             testContext.EndTest(UUnitFinishState.PASSED, null);
         }
     }
                          );
 }
示例#19
0
        async public static Task <ListVirtualCurrencyTypesResult> GetCurrencyData(string titleId)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            // I want to return a task that holds the
            var result = await PlayFabAdminAPI.ListVirtualCurrencyTypesAsync(new ListVirtualCurrencyTypesRequest());

            //.ContinueWith(
            //    (result) => {
            //        PlayFabSettings.TitleId = currentPlayFabTitleId;
            //        PlayFabSettings.DeveloperSecretKey = currentDevKey;
            //        if (result.Result.Error != null)
            //        {
            //            Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
            //            callback(false, null);
            //            return;
            //        }
            //        if (result.IsCompleted)
            //        {
            //            callback(true, result.Result.Result.VirtualCurrencies);
            //        }
            //    });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }

            Console.WriteLine("The data found in get currency " + result.Result.VirtualCurrencies.Count);

            return(result.Result);
        }
示例#20
0
        async public static Task <List <CloudScriptFile> > GetCloudScript(string titleId)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var result = await PlayFabAdminAPI.GetCloudScriptRevisionAsync(new GetCloudScriptRevisionRequest());

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }
            return(result.Result.Files);
        }
示例#21
0
        async public static Task <GetTitleDataResult> GetTitleInternalData(string titleID)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleID);

            PlayFabSettings.TitleId            = titleID;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            var result = await PlayFabServerAPI.GetTitleInternalDataAsync(new GetTitleDataRequest());

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }

            return(result.Result);
        }
        private static int Login(string titleId, string buildIdentifier)
        {
            PlayFabSettings.TitleId = titleId;
            var task = PlayFabClientAPI.LoginWithCustomIDAsync(new LoginWithCustomIDRequest {
                TitleId = titleId, CustomId = buildIdentifier, CreateAccount = true
            });

            task.Wait();
            var returnCode = PlayFabClientAPI.IsClientLoggedIn() ? 0 : 1;

            if (returnCode != 0)
            {
                JenkinsConsoleUtility.FancyWriteToConsole("Failed to log in using CustomID: " + titleId + ", " + buildIdentifier, null, ConsoleColor.Red);
                JenkinsConsoleUtility.FancyWriteToConsole(PlayFabUtil.GetErrorReport(task.Result.Error), null, ConsoleColor.Red);
            }
            else
            {
                JenkinsConsoleUtility.FancyWriteToConsole("Login successful, PlayFabId: " + task.Result.Result.PlayFabId, null, ConsoleColor.Gray);
            }
            return(returnCode);
        }
示例#23
0
        // Currently onle fetches the default catalog
        async public static Task <List <PlayFab.AdminModels.CatalogItem> > GetCatalogData(string titleId)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var result = await PlayFabAdminAPI.GetCatalogItemsAsync(new PlayFab.AdminModels.GetCatalogItemsRequest());

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }
            //var version = result.Result.Catalog[0].CatalogVersion;
            return(result.Result.Catalog);
        }
示例#24
0
        async public static Task <Dictionary <string, PlayFab.AdminModels.RandomResultTableListing> > GetDropTableData(string titleId)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var result = await PlayFabAdminAPI.GetRandomResultTablesAsync(new PlayFab.AdminModels.GetRandomResultTablesRequest());

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }

            return(result.Result.Tables);
        }
示例#25
0
        public static void GetStudios(string token, Action <bool> callback)
        {
            var getStudioTask = PlayFabExtensions.GetStudios(new GetStudiosRequest()
            {
                DeveloperClientToken = token
            }).
                                ContinueWith((result) =>
            {
                if (result.Result.Error != null)
                {
                    Console.WriteLine(PlayFabUtil.GetErrorReport(result.Result.Error));
                    callback(false);
                    return;
                }

                if (result.IsCompleted)
                {
                    PlayFabService.Studios = result.Result.Result.Studios.ToList();
                    callback(true);
                }
            });
        }
示例#26
0
        async public static Task <DownloadedFile> DownloadFile(string titleId, string path, ContentInfo content)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var result = await PlayFabServerAPI.GetContentDownloadUrlAsync(new GetContentDownloadUrlRequest()
            {
                Key        = content.Key,
                HttpMethod = "GET"
            });

            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }

            var folderPathArray = content.Key.Split('/');
            var fileName        = folderPathArray.ToList().Last();

            var filePath = string.Format("{0}\\{1}", path, fileName);
            var success  = await PlayFabExtensions.DownloadFile(result.Result.URL, filePath);

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (!success)
            {
                return(null);
            }
            return(new DownloadedFile()
            {
                Data = content, FilePath = filePath
            });
        }
示例#27
0
        async public static Task <BlankResult> DeleteCurrencyData(string titleId, List <VirtualCurrencyData> currencyData)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            var result = await PlayFabAdminAPI.RemoveVirtualCurrencyTypesAsync(new RemoveVirtualCurrencyTypesRequest()
            {
                VirtualCurrencies = currencyData
            });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(null);
            }
            return(result.Result);
        }
示例#28
0
        async public static Task <bool> UpdateCloudScript(string titleId, List <CloudScriptFile> cloudScriptData)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;
            var result = await PlayFabAdminAPI.UpdateCloudScriptAsync(new UpdateCloudScriptRequest()
            {
                Files   = cloudScriptData,
                Publish = true
            });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(false);
            }
            return(true);
        }
示例#29
0
        async public static Task <bool> UpdateDropTableData(string titleId, List <RandomResultTable> dropTables)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var result = await PlayFabAdminAPI.UpdateRandomResultTablesAsync(new PlayFab.AdminModels.UpdateRandomResultTablesRequest()
            {
                Tables = dropTables
            });

            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;
            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(false);
            }
            return(true);
        }
示例#30
0
        async public static Task <bool> UploadFile(string titleId, DownloadedFile fileInfo)
        {
            var currentPlayFabTitleId = PlayFabSettings.TitleId;
            var currentDevKey         = PlayFabSettings.DeveloperSecretKey;

            var title = FindTitle(titleId);

            PlayFabSettings.TitleId            = titleId;
            PlayFabSettings.DeveloperSecretKey = title.SecretKey;

            var key    = fileInfo.FilePath.Split('/').ToList()[fileInfo.FilePath.Split('/').ToList().Count - 1];
            var type   = MimeMapping.GetMimeMapping(key);
            var result = await PlayFabAdminAPI.GetContentUploadUrlAsync(
                new GetContentUploadUrlRequest()
            {
                Key         = fileInfo.Data.Key,
                ContentType = type
            }
                );

            if (result.Error != null)
            {
                Console.WriteLine(PlayFabUtil.GetErrorReport(result.Error));
                return(false);
            }
            PlayFabSettings.TitleId            = currentPlayFabTitleId;
            PlayFabSettings.DeveloperSecretKey = currentDevKey;

            bool success = await PlayFabExtensions.UploadFile(result.Result.URL, fileInfo.FilePath);

            if (!success)
            {
                return(false);
            }
            return(true);
        }