Exemple #1
0
        public static async Task StartUnityCloudBuilds(CloudFunctionContext context, StartUnityCloudBuildsRequest request)
        {
            if (request.BuildTargets.IsNullOrEmpty())
            {
                Debug.LogError("No BuildTargets Specified!");
                return;
            }

            int secondsDelay = 0;

            foreach (string buildTarget in request.BuildTargets)
            {
                await KickOffBuild(request.BasicAuth, request.Org, request.Project, buildTarget, secondsDelay);

                secondsDelay += request.SecondsBetweenBuilds;
            }

            async Task KickOffBuild(string basicAuth, string org, string project, string buildTarget, int delayInSeconds)
            {
                string uri  = $"https://build-api.cloud.unity3d.com/api/v1/orgs/{org}/projects/{project}/buildtargets/{buildTarget}/builds";
                string json = "{\"clean\": false, \"delay\": " + delayInSeconds + "}";

                var response = await HttpUtil.SendJsonPost(uri, json, basicAuth);

                if (response.StatusCode == HttpStatusCode.Accepted || response.StatusCode == HttpStatusCode.OK)
                {
                    Debug.Log($"Successfully kicked off build {buildTarget}");
                }
                else
                {
                    Debug.LogError($"Unable to kick off build {buildTarget}");
                }
            }
        }
Exemple #2
0
 public static async Task DeleteUser(CloudFunctionContext context, string playfabId)
 {
     await PlayFabServerAPI.DeletePlayerAsync(new DeletePlayerRequest
     {
         AuthenticationContext = context.TitleAuthenticationContext,
         PlayFabId             = playfabId,
     });
 }
Exemple #3
0
        public static Task <HttpWebResponse> SendRealtimeMessage(CloudFunctionContext context, string receiverId, RealtimeMessage realtimeMessage)
        {
            if (ablyBasicAuthString == null)
            {
                ablyBasicAuthString = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(context.AblyServerKey));
            }

            return(HttpUtil.SendJsonPost(
                       $"https://rest.ably.io/channels/{receiverId}/messages",
                       JsonUtil.Serialize(new Dictionary <string, object> {
                { "data", realtimeMessage }
            }),
                       ablyBasicAuthString));
        }
Exemple #4
0
        public static async Task GrantDefaultCharacter(CloudFunctionContext context)
        {
            await PlayFabServerAPI.GrantItemsToUserAsync(new GrantItemsToUserRequest
            {
                PlayFabId             = context.PlayerId,
                AuthenticationContext = context.TitleAuthenticationContext,
                ItemIds = new List <string> {
                    DefaultCharacterItemId
                },
            });

            await PlayFabServerAPI.GrantCharacterToUserAsync(new GrantCharacterToUserRequest
            {
                PlayFabId             = context.PlayerId,
                AuthenticationContext = context.TitleAuthenticationContext,
                CharacterType         = DefaultCharacterItemId,
                CharacterName         = DefaultCharacterName,
            });
        }
Exemple #5
0
 public static Task IncrementBadCallCount(CloudFunctionContext context)
 {
     return(IncrementStatBy(context, "BadCallCount", 1));
 }
Exemple #6
0
        public static async Task <PlayFabResult <UpdatePlayerStatisticsResult> > IncrementStatBy(CloudFunctionContext context, string statisticName, int value)
        {
            var getStatistics = await PlayFabServerAPI.GetPlayerStatisticsAsync(new GetPlayerStatisticsRequest
            {
                PlayFabId      = context.PlayerId,
                StatisticNames = new List <string> {
                    statisticName
                },
                AuthenticationContext = context.TitleAuthenticationContext,
            });

            var statisticValue    = getStatistics.Result.Statistics.FirstOrDefault(x => x.StatisticName == statisticName);
            int newStatisticValue = (statisticValue == null ? 0 : statisticValue.Value) + value;

            return(await PlayFabServerAPI.UpdatePlayerStatisticsAsync(new UpdatePlayerStatisticsRequest
            {
                PlayFabId = context.PlayerId,
                AuthenticationContext = context.TitleAuthenticationContext,
                Statistics = new List <StatisticUpdate>
                {
                    new StatisticUpdate
                    {
                        StatisticName = statisticName,
                        Value = newStatisticValue,
                    },
                },
            }));
        }
Exemple #7
0
 public static Task <AuthCodeLoginResult> AuthCodeLogin(CloudFunctionContext context, AuthCodeLoginRequest request)
 {
     throw new NotImplementedException();
 }
Exemple #8
0
 public static Task RequestLogin(CloudFunctionContext context, string email)
 {
     throw new NotImplementedException();
 }
Exemple #9
0
 public static Task GiveCurrency(CloudFunctionContext context, DebugGiveCurrencyRequest request)
 {
     throw new NotImplementedException();
 }
Exemple #10
0
 public static Task PurchaseItem(CloudFunctionContext context, DebugPurchaseItemRequest request)
 {
     throw new NotImplementedException();
 }