Пример #1
0
        protected override void handleSessionMessage(PartyGameSessionMessageTypes type, string data)
        {
            switch (type)
            {
            case PartyGameSessionMessageTypes.SetRole:
            {
                PartyGameSessionMessages.SetRole setRole = jsonService.Deserialize <PartyGameSessionMessages.SetRole>(data);
                role = (ScavengerHuntRoles)setRole.RoleId;
                scavengerHuntData.LocalPlayerRole = role;
                scavengerHuntData.OtherPlayerRole = ((role == ScavengerHuntRoles.Hider) ? ScavengerHuntRoles.Finder : ScavengerHuntRoles.Hider);
                break;
            }

            case PartyGameSessionMessageTypes.SetGameState:
            {
                PartyGameSessionMessages.SetGameState setGameState = jsonService.Deserialize <PartyGameSessionMessages.SetGameState>(data);
                ScavengerHuntState gameStateId = (ScavengerHuntState)setGameState.GameStateId;
                changeState(gameStateId);
                break;
            }

            case PartyGameSessionMessageTypes.RemoveItem:
                handleRemoveItem(jsonService.Deserialize <PartyGameSessionMessages.RemoveItem>(data));
                break;

            case PartyGameSessionMessageTypes.AddItem:
                handleAddItem(jsonService.Deserialize <PartyGameSessionMessages.AddItem>(data));
                break;
            }
        }
Пример #2
0
        protected override void handleSessionMessage(PartyGameSessionMessageTypes type, string data)
        {
            switch (type)
            {
            case PartyGameSessionMessageTypes.SetGameState:
            {
                PartyGameSessionMessages.SetGameState setGameState = jsonService.Deserialize <PartyGameSessionMessages.SetGameState>(data);
                FishBucketState gameStateId = (FishBucketState)setGameState.GameStateId;
                changeState(gameStateId);
                break;
            }

            case PartyGameSessionMessageTypes.SetGameStartPositions:
                handleSetGameStartPositions(jsonService.Deserialize <PartyGameSessionMessages.SetGameStartData>(data));
                break;

            case PartyGameSessionMessageTypes.ShowTurnOutput:
                handleShowTurnOutput(jsonService.Deserialize <PartyGameSessionMessages.ShowTurnOutput>(data));
                break;

            case PartyGameSessionMessageTypes.PlayerTurnStart:
                handlePlayerTurnStart(jsonService.Deserialize <PartyGameSessionMessages.PlayerTurnStart>(data));
                break;

            case PartyGameSessionMessageTypes.PlayerLeftGame:
                handlePlayerLeftGame(jsonService.Deserialize <PartyGameSessionMessages.PlayerLeftGame>(data));
                break;

            case PartyGameSessionMessageTypes.AddItem:
            case PartyGameSessionMessageTypes.RemoveItem:
                break;
            }
        }
Пример #3
0
    protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
    {
        ResponseBody = new ClaimDailySpinRewardResponse();
        Reward reward     = new Reward();
        Reward reward2    = new Reward();
        int    spinResult = offlineDefinitions.GetSpinResult(reward, reward2);

        offlineDefinitions.AddReward(reward, ResponseBody);
        offlineDefinitions.AddReward(reward2, ResponseBody);
        JsonService jsonService = Service.Get <JsonService>();

        ResponseBody.spinOutcomeId = spinResult;
        ResponseBody.reward        = jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(reward)));
        ResponseBody.chestReward   = jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(reward2)));
    }
Пример #4
0
        public void DeserializeMethodShouldReturnRightResultObject()
        {
            //Arrange
            var jsonToDeserialize = "{\"sources\":[{\"id\":\"dcfe1db6-2484-42c2-9d9e-a77a28a5078d\",\"name\":\"BKAL33+KBT T\",\"description\":\"Plato Chemicals Test\",\"sourceBusinessUnits\":[]}],\"operations\":[{\"id\":\"d2760435-9d0b-4b69-adce-09017f2840c6\",\"name\":\"Unload into warehouse\",\"description\":\"Unloading goods into the warehouse\",\"icon\":null,\"tags\":[\"string\"]}]}";
            var jsonService       = new JsonService();
            var flowFilter        = new FlowFilter(new List <FlowSource> {
                new FlowSource("BKAL33+KBT T")
            },
                                                   new List <FlowOperation> {
                new FlowOperation("Unload into warehouse")
            },
                                                   new List <FlowSite>(),
                                                   new List <FlowOperationalDepartment>(),
                                                   new List <FlowTypePlanning>(),
                                                   new List <FlowCustomer>(),
                                                   new List <FlowProductionSite>(),
                                                   new List <FlowTransportType>(),
                                                   "No");
            //Act
            var result = jsonService.Deserialize <FlowFilter>(jsonToDeserialize);

            //Assert
            result.Sources.Should().BeEquivalentTo(flowFilter.Sources);
            result.Operations.Should().BeEquivalentTo(flowFilter.Operations);
        }
        public async Task InvokeAsync(
            HttpContext context,
            IContentStorage contentStore,
            ISchemaStorage schemaStorage,
            JsonService jsonService)
        {
            string schema = (string)context.GetRouteValue("schema");

            QueryParameters queryParameters = await jsonService.Deserialize <QueryParameters>(context.Request.Body);

            ContentSchema schemaModel = await schemaStorage.GetContentSchemaAsync(schema);

            QueryResult <ContentItem> contentItems = await contentStore.Query(schema, queryParameters);

            foreach (ContentItem contentItem in contentItems.Items)
            {
                contentItem.ApplySchema(schemaModel);
            }

            QueryResult <RestContentItem> resultQuery = new QueryResult <RestContentItem>()
            {
                Offset     = contentItems.Offset,
                Count      = contentItems.Count,
                TotalCount = contentItems.TotalCount,
                Items      = contentItems.Items.Select(x => x.ToRest()).ToList()
            };

            string json = jsonService.Serialize(resultQuery);

            await context.Response.WriteAsync(json);
        }
Пример #6
0
        protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
        {
            Response = new FishingCatchResponse();
            Reward fishingReward = offlineDefinitions.GetFishingReward(FishingCatchRequest.winningRewardName);

            offlineDefinitions.AddReward(fishingReward, Response);
            JsonService jsonService = Service.Get <JsonService>();
            Dictionary <string, RewardJsonReader> dictionary = new Dictionary <string, RewardJsonReader>();

            dictionary.Add(client.PlayerSessionId.ToString(), jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(fishingReward))));
            Response.rewards = new SignedResponse <RewardedUserCollectionJsonHelper>
            {
                Data = new RewardedUserCollectionJsonHelper
                {
                    rewards  = dictionary,
                    source   = RewardSource.MINI_GAME,
                    sourceId = "fishing"
                }
            };
            if (Response.wsEvents == null)
            {
                Response.wsEvents = new List <SignedResponse <WebServiceEvent> >();
            }
            Response.wsEvents.Add(new SignedResponse <WebServiceEvent>
            {
                Data = new WebServiceEvent
                {
                    type    = 1,
                    details = new JsonData(FishingCatchRequest.winningRewardName)
                }
            });
        }
        public static QuestChangeResponse SetProgress(QuestObjectives objectives, OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
        {
            QuestStates.QuestState questState          = null;
            QuestStates            questStates         = offlineDatabase.Read <QuestStates>();
            QuestChangeResponse    questChangeResponse = new QuestChangeResponse();

            foreach (QuestStates.QuestState quest in questStates.Quests)
            {
                if (quest.status == QuestStatus.ACTIVE)
                {
                    questState = quest;
                    break;
                }
            }
            if (questState == null)
            {
                return(questChangeResponse);
            }
            if (questState.completedObjectives == null)
            {
                questState.completedObjectives = new QuestObjectives();
            }
            Reward reward = null;

            if (questState.timesCompleted == 0)
            {
                Dictionary <string, Reward> objectiveRewards = offlineDefinitions.QuestRewards(questState.questId).ObjectiveRewards;
                foreach (string objective in objectives)
                {
                    if (!questState.completedObjectives.Contains(objective) && objectiveRewards.ContainsKey(objective))
                    {
                        if (reward == null)
                        {
                            reward = new Reward();
                        }
                        reward.AddReward(objectiveRewards[objective]);
                    }
                }
            }
            if (reward != null)
            {
                offlineDefinitions.AddReward(reward, questChangeResponse);
            }
            questState.completedObjectives = objectives;
            offlineDatabase.Write(questStates);
            questChangeResponse.questId = questState.questId;
            questChangeResponse.questStateCollection = new SignedResponse <QuestStateCollection>
            {
                Data = GetQuestStateCollection(questStates, offlineDefinitions, includeComplete: false)
            };
            if (reward != null)
            {
                JsonService jsonService = Service.Get <JsonService>();
                questChangeResponse.reward = jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(reward)));
            }
            return(questChangeResponse);
        }
Пример #8
0
        public void When_Json_Says_null_Then_Should_Return_Null()
        {
            string input       = "null";
            var    jsonService = new JsonService();

            var result = jsonService.Deserialize <FakeNullableData>(input);

            result.Should().BeNull();
        }
Пример #9
0
        public void TestSerializationKeypad()
        {
            Keypad      keypad     = new Keypad();
            JsonService js         = new JsonService();
            string      JsonString = js.Serialize(keypad);
            Keypad      obj        = js.Deserialize <Keypad>(JsonString);

            Assert.AreEqual(keypad.UID, obj.UID);
        }
Пример #10
0
        protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
        {
            ResponseBody = new ClaimRewardResponse();
            Reward quickNotificationReward = offlineDefinitions.GetQuickNotificationReward();

            offlineDefinitions.AddReward(quickNotificationReward, ResponseBody);
            JsonService jsonService = Service.Get <JsonService>();

            ResponseBody.reward = jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(quickNotificationReward)));
        }
Пример #11
0
        public LoginPage(string Env)
        {
            inEnv = Env;
            JsonService            js  = new JsonService();
            LoadEnvironmentService les = new LoadEnvironmentService();
            string json = les.LoadEnvironmentOjbect(inEnv);

            env = js.Deserialize <EnvironmentC>(json);
            InitializeComponent();
            txtPassword.PasswordChar = '*';
        }
Пример #12
0
        public void TestSerializationUser()
        {
            User        newUser    = new User("bdr", "1234");
            JsonService js         = new JsonService();
            string      JsonString = js.Serialize(newUser);
            User        obj        = new User();

            obj = js.Deserialize <User>(JsonString);
            Assert.AreEqual(newUser.Username, obj.Username);
            //Assert.AreEqual(newUser.Username, afterJsonDeserialize.Username);
        }
 private void handleSetTubeRaceModifierLayout(string data)
 {
     try
     {
         PartyGameSessionMessages.SetTubeRaceModifierLayout setTubeRaceModifierLayout = jsonService.Deserialize <PartyGameSessionMessages.SetTubeRaceModifierLayout>(data);
         eventDispatcher.DispatchEvent(new TubeRaceEvents.SetModifierLayout((PartyGameDefinition.GameTypes)partyGameId, setTubeRaceModifierLayout.ModifierLayoutId));
     }
     catch (Exception)
     {
     }
 }
Пример #14
0
        protected override void handleSessionMessage(PartyGameSessionMessageTypes type, string data)
        {
            switch (type)
            {
            case PartyGameSessionMessageTypes.SetGameState:
            {
                PartyGameSessionMessages.SetGameState setGameState = jsonService.Deserialize <PartyGameSessionMessages.SetGameState>(data);
                FindFourState gameStateId = (FindFourState)setGameState.GameStateId;
                changeState(gameStateId);
                break;
            }

            case PartyGameSessionMessageTypes.ShowTurnOutput:
                handleShowTurnOutput(jsonService.Deserialize <PartyGameSessionMessages.ShowTurnOutput>(data));
                break;

            case PartyGameSessionMessageTypes.PlayerTurnStart:
                handlePlayerTurnStart(jsonService.Deserialize <PartyGameSessionMessages.PlayerTurnStart>(data));
                break;
            }
        }
        public async Task InvokeAsync(
            HttpContext context,
            ISchemaStorage schemaStorage,
            JsonService jsonService)
        {
            Guid id = Guid.Parse((string)context.GetRouteValue("id"));

            RestContentSchema input = await jsonService.Deserialize <RestContentSchema>(context.Request.Body);

            ContentSchema m = input.ToModel();

            await schemaStorage.UpdateAsync(m);
        }
Пример #16
0
        private void initializeTokenTypes()
        {
            jsonService = new LitJsonService();
            TextAsset textAsset = Resources.Load <TextAsset>(TOKEN_TYPE_ASSET);

            if (!(textAsset == null) && !string.IsNullOrEmpty(textAsset.text))
            {
                string text = textAsset.text;
                tokenTypes = jsonService.Deserialize <Dictionary <string, string[]> >(text);
                if (tokenTypes.Count > 0)
                {
                }
            }
        }
Пример #17
0
        public void JsonService_CanDeserialize()
        {
            var json          = "{\"Count\":5,\"Type\":\"Thingie\",\"Cost\":88.5}";
            var expectedClass = new TestClass
            {
                Cost  = 88.5,
                Count = 5,
                Type  = "Thingie"
            };

            var val = JsonService.Deserialize <TestClass>(json);

            Assert.AreEqual(expectedClass, val);
        }
Пример #18
0
        public void UpdateTokensFromJSONText(string jsonText, Action <bool> responseHandler)
        {
            Dictionary <string, string> dictionary = jsonService.Deserialize <Dictionary <string, string> >(jsonText);

            if (dictionary == null || dictionary.Count == 0)
            {
                return;
            }
            bool obj = false;

            foreach (KeyValuePair <string, string> item in dictionary)
            {
                string text = item.Value;
                if (Language == Language.oversized)
                {
                    int    num   = (int)((double)text.Length * 0.4) - 4;
                    string text2 = "";
                    if (num > 0)
                    {
                        int num2 = (int)Math.Floor((double)num / 6.0);
                        int num3 = num - num2 * 6;
                        for (int i = 0; i < num2; i++)
                        {
                            text2 = text2 + " " + Guid.NewGuid().ToString("N").Substring(0, 5);
                        }
                        if (num3 > 0)
                        {
                            text2 = text2 + " " + Guid.NewGuid().ToString("N").Substring(0, num3);
                        }
                    }
                    text = "@@" + text + text2 + "@@";
                }
                if (tokens.ContainsKey(item.Key))
                {
                    obj = true;
                    tokens[item.Key] = text;
                }
                else
                {
                    obj = true;
                    tokens.Add(item.Key, text);
                }
            }
            responseHandler?.Invoke(obj);
            if (TokensUpdated != null)
            {
                TokensUpdated();
            }
        }
Пример #19
0
        public async Task InvokeAsync(
            HttpContext context,
            IAssetFolderStorage assetStore,
            JsonService jsonService)
        {
            AssetFolderQuery query = await jsonService.Deserialize <AssetFolderQuery>(context.Request.Body);

            IEnumerable <AssetFolder> assets = await assetStore.GetAssetFoldersAsync(query);

            IEnumerable <RestAssetFolder> result = assets.Select(x => x.ToRest()).ToList();

            string json = jsonService.Serialize(result);

            await context.Response.WriteAsync(json);
        }
Пример #20
0
        public void When_Json_Does_Not_Contain_Elements_Then_Those_Elements_Should_Be_Null()
        {
            var input = "{\"FakeData\":\"This is some fake input\"}";

            var jsonService = new JsonService();

            var result = jsonService.Deserialize <FakeNullableData>(input);

            var expectedResult = new FakeNullableData
            {
                FakeData = "This is some fake input"
            };

            result.Should().BeEquivalentTo(expectedResult);
        }
Пример #21
0
        public static void ImportData(string userName)
        {
            JsonService jsonService = Service.Get <JsonService>();
            TextEditor  textEditor  = new TextEditor();

            textEditor.Paste();
            OfflineDataExport offlineDataExport = jsonService.Deserialize <OfflineDataExport>(textEditor.text);

            if (string.IsNullOrEmpty(userName))
            {
                userName = offlineDataExport.UserName;
            }
            else
            {
                RegistrationProfile registrationProfile = OfflineDatabase.Read <RegistrationProfile>(RegistrationProfile.Id(userName));
                if (!string.IsNullOrEmpty(registrationProfile.userName))
                {
                    offlineDataExport.RegistrationProfile.displayName = registrationProfile.displayName;
                    offlineDataExport.RegistrationProfile.firstName   = registrationProfile.firstName;
                    offlineDataExport.RegistrationProfile.parentEmail = registrationProfile.parentEmail;
                }
                else
                {
                    offlineDataExport.RegistrationProfile.displayName = userName;
                }
            }
            string token = RegistrationProfile.Id(userName);

            offlineDataExport.RegistrationProfile.userName = userName;
            OfflineDatabase.Write(offlineDataExport.BreadCrumbs, token);
            OfflineDatabase.Write(offlineDataExport.ClaimableRewards, token);
            OfflineDatabase.Write(offlineDataExport.ConsumableInventory, token);
            OfflineDatabase.Write(offlineDataExport.Equipment, token);
            OfflineDatabase.Write(offlineDataExport.DailySpinData, token);
            OfflineDatabase.Write(offlineDataExport.IglooData, token);
            OfflineDatabase.Write(offlineDataExport.RoomRewards, token);
            OfflineDatabase.Write(offlineDataExport.Assets, token);
            OfflineDatabase.Write(offlineDataExport.Outfit, token);
            OfflineDatabase.Write(offlineDataExport.Profile, token);
            OfflineDatabase.Write(offlineDataExport.QuestStates, token);
            OfflineDatabase.Write(offlineDataExport.RegistrationProfile, token);
            OfflineDatabase.Write(offlineDataExport.IglooLayouts, token);
            OfflineDatabase.Write(offlineDataExport.Tube, token);
            OfflineDatabase.Write(offlineDataExport.Tutorials, token);
        }
            protected void sendReward()
            {
                JsonService jsonService = Service.Get <JsonService>();
                Dictionary <string, RewardJsonReader> dictionary = new Dictionary <string, RewardJsonReader>();

                dictionary.Add(client.clubPenguinClient.PlayerSessionId.ToString(), jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(totalReward))));
                SignedResponse <RewardedUserCollectionJsonHelper> signedResponse = new SignedResponse <RewardedUserCollectionJsonHelper>();

                signedResponse.Data = new RewardedUserCollectionJsonHelper
                {
                    rewards  = dictionary,
                    source   = RewardSource.WORLD_OBJECT,
                    sourceId = item.Id.Id.ToString()
                };
                SignedResponse <RewardedUserCollectionJsonHelper> data = signedResponse;

                client.processEvent(GameServerEvent.RECEIVED_REWARDS, data);
            }
Пример #23
0
            public void EndSession(long userSessionId)
            {
                timer.Stop();
                JsonService jsonService = Service.Get <JsonService>();

                PartyGameSessionMessages.TubeRacePlayerResult tubeRacePlayerResult = new PartyGameSessionMessages.TubeRacePlayerResult();
                tubeRacePlayerResult.CompletionTimeInMilliseconds = timer.ElapsedMilliseconds;
                tubeRacePlayerResult.OverallScore  = raceDefinition.StartingPoints - timer.ElapsedMilliseconds * raceDefinition.PointsDeductedPerSecond / 1000 + userScores[userSessionId];
                tubeRacePlayerResult.PlayerId      = userSessionId;
                tubeRacePlayerResult.ScoreModifier = userScores[userSessionId];
                PartyGameSessionMessages.TubeRacePlayerResult objectToSerialize = tubeRacePlayerResult;
                PartyGameMessageEvent partyGameMessageEvent = default(PartyGameMessageEvent);

                partyGameMessageEvent.sessionId = sessionId;
                partyGameMessageEvent.type      = 13;
                partyGameMessageEvent.message   = jsonService.Serialize(objectToSerialize);
                PartyGameMessageEvent partyGameMessageEvent2 = partyGameMessageEvent;

                processEvent(GameServerEvent.PARTY_GAME_MESSAGE, partyGameMessageEvent2);
                if (Service.Get <IGameData>().Get <Dictionary <int, PartyGameDefinition> >().TryGetValue(cpItem.gameTemplateId, out var value))
                {
                    foreach (PartyGameDefinition.PartyGameReward reward in value.Rewards)
                    {
                        if (reward.Placement == PartyGameEndPlacement.FIRST)
                        {
                            Dictionary <string, RewardJsonReader> dictionary = new Dictionary <string, RewardJsonReader>();
                            dictionary.Add(userSessionId.ToString(), jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(reward.Reward.ToReward()))));
                            SignedResponse <RewardedUserCollectionJsonHelper> signedResponse = new SignedResponse <RewardedUserCollectionJsonHelper>();
                            signedResponse.Data = new RewardedUserCollectionJsonHelper
                            {
                                rewards  = dictionary,
                                source   = RewardSource.MINI_GAME,
                                sourceId = sessionId.ToString()
                            };
                            SignedResponse <RewardedUserCollectionJsonHelper> arg = signedResponse;
                            processEvent(GameServerEvent.RECEIVED_REWARDS_DELAYED, arg);
                            break;
                        }
                    }
                }
                CoroutineRunner.StartPersistent(finishEndSession(), this, "finishEndSession");
            }
Пример #24
0
        public async Task InvokeAsync(
            HttpContext context,
            IAssetStorage assetStore,
            JsonService jsonService)
        {
            RestAsset restAsset = await jsonService.Deserialize <RestAsset>(context.Request.Body);

            Asset asset = restAsset.ToModel();

            await assetStore.CreateAsync(asset);

            var r = new ResourceCreated()
            {
                Id = asset.Id
            };

            string json = jsonService.Serialize(r);

            await context.Response.WriteAsync(json);
        }
Пример #25
0
        public async Task InvokeAsync(
            HttpContext context,
            IAssetStorage assetStore,
            JsonService jsonService)
        {
            AssetQuery query = await jsonService.Deserialize <AssetQuery>(context.Request.Body);

            QueryResult <Asset> assets = await assetStore.GetAssetsAsync(query);

            QueryResult <RestAsset> queryResult = new QueryResult <RestAsset>();

            queryResult.Offset     = assets.Offset;
            queryResult.Count      = assets.Count;
            queryResult.TotalCount = assets.TotalCount;
            queryResult.Items      = assets.Items.Select(x => x.ToRest()).ToList();

            string json = jsonService.Serialize(queryResult);

            await context.Response.WriteAsync(json);
        }
        public async Task InvokeAsync(
            HttpContext context,
            IContentStorage contentStore,
            JsonService jsonService)
        {
            RestContentItem input = await jsonService.Deserialize <RestContentItem>(context.Request.Body);

            ContentItem model = input.ToModel();

            await contentStore.UpdateAsync(model);

            ResourceCreated result = new ResourceCreated()
            {
                Id = input.Id
            };

            string json = jsonService.Serialize(result);

            await context.Response.WriteAsync(json);
        }
Пример #27
0
        private void onEvalJavaScriptFinished(string result)
        {
            if (string.IsNullOrEmpty(result) || result.Equals("undefined"))
            {
                return;
            }
            Dictionary <string, string> dictionary = jsonService.Deserialize <Dictionary <string, string> >(result);

            if (dictionary != null && dictionary.ContainsKey("type") && dictionary.ContainsKey("status") && dictionary.ContainsKey("timestamp") && dictionary["type"].Equals("tokenLogin") && !receivedInitialLoginFunctionResponse && dictionary["status"] == "success")
            {
                webView.IsReadyToShow = true;
                receivedInitialLoginFunctionResponse = true;
                PlayerPrefs.SetInt("newsfeed_login_timestamp", Convert.ToInt32(dictionary["timestamp"]));
                dataEntityCollection.RemoveComponent <NewPostData>(dataEntityCollection.LocalPlayerHandle);
                if (this.NewsfeedLoginSucceeded != null)
                {
                    this.NewsfeedLoginSucceeded();
                    this.NewsfeedLoginSucceeded = null;
                }
            }
        }
Пример #28
0
        public async Task InvokeAsync(
            HttpContext context,
            ISchemaStorage schemaStorage,
            JsonService jsonService)
        {
            string name = (string)context.GetRouteValue("name");

            RestContentSchema input = await jsonService.Deserialize <RestContentSchema>(context.Request.Body);

            ContentSchema m = input.ToModel();

            await schemaStorage.CreateAsync(m);

            var result = new ResourceCreated()
            {
                Id = m.Id
            };

            string json = jsonService.Serialize(result);

            await context.Response.WriteAsync(json);
        }
Пример #29
0
        internal static bool ClaimReward(int rewardId, out ClaimRewardResponse responseBody, OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
        {
            responseBody = new ClaimRewardResponse();
            ClaimableRewardData value = offlineDatabase.Read <ClaimableRewardData>();

            if (value.ClimedRewards.Contains(rewardId))
            {
                return(false);
            }
            Reward claimableReward = offlineDefinitions.GetClaimableReward(rewardId);

            if (claimableReward != null)
            {
                offlineDefinitions.AddReward(claimableReward, responseBody);
                value.ClimedRewards.Add(rewardId);
                offlineDatabase.Write(value);
                JsonService jsonService = Service.Get <JsonService>();
                responseBody.reward = jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(claimableReward)));
                return(true);
            }
            return(false);
        }
Пример #30
0
        public static QuestChangeResponse SetStatus(QuestStatus status, string questId, OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions)
        {
            QuestChangeResponse questChangeResponse = new QuestChangeResponse();
            QuestStates         questStates         = offlineDatabase.Read <QuestStates>();

            QuestStates.QuestState questState = null;
            int num = -1;

            for (int i = 0; i < questStates.Quests.Count; i++)
            {
                if (questStates.Quests[i].questId == questId)
                {
                    questState = questStates.Quests[i];
                    num        = i;
                    break;
                }
            }
            QuestRewardsCollection questRewardsCollection = offlineDefinitions.QuestRewards(questId);
            Reward reward = null;

            if (questState == null)
            {
                reward = questRewardsCollection.StartReward;
                if (reward != null)
                {
                    if (reward.isEmpty())
                    {
                        reward = null;
                    }
                    else
                    {
                        offlineDefinitions.AddReward(reward, questChangeResponse);
                    }
                }
                questState         = new QuestStates.QuestState();
                questState.questId = questId;
            }
            if (status == QuestStatus.ACTIVE)
            {
                for (int i = 0; i < questStates.Quests.Count; i++)
                {
                    if (questStates.Quests[i].status == QuestStatus.ACTIVE)
                    {
                        questStates.Quests[i].status = QuestStatus.SUSPENDED;
                    }
                }
                if (questState.status == QuestStatus.COMPLETED)
                {
                    questState.completedObjectives.Clear();
                }
            }
            if (status == QuestStatus.COMPLETED)
            {
                int timesCompleted = questState.timesCompleted;
                if (timesCompleted == 0)
                {
                    questState.completedTime = DateTime.UtcNow;
                    reward = questRewardsCollection.CompleteReward;
                    if (reward != null)
                    {
                        if (reward.isEmpty())
                        {
                            reward = null;
                        }
                        else
                        {
                            offlineDefinitions.AddReward(reward, questChangeResponse);
                        }
                    }
                }
                questState.timesCompleted = timesCompleted + 1;
            }
            questState.status = status;
            if (num >= 0)
            {
                questStates.Quests[num] = questState;
            }
            else
            {
                questStates.Quests.Add(questState);
            }
            offlineDatabase.Write(questStates);
            JsonService jsonService = Service.Get <JsonService>();

            if (reward != null)
            {
                questChangeResponse.reward = jsonService.Deserialize <RewardJsonReader>(jsonService.Serialize(RewardJsonWritter.FromReward(reward)));
            }
            questChangeResponse.questId = questId;
            questChangeResponse.questStateCollection = new SignedResponse <QuestStateCollection>
            {
                Data = SetProgressOperation.GetQuestStateCollection(questStates, offlineDefinitions, includeComplete: false)
            };
            return(questChangeResponse);
        }