Example #1
0
        public void ApplyWelcomeMessage(WelcomeMessageData data)
        {
            MainPlayer.ActiveCharacter.Weight    = data.Weight;
            MainPlayer.ActiveCharacter.MaxWeight = data.MaxWeight;

            MainPlayer.ActiveCharacter.Inventory.Clear();
            MainPlayer.ActiveCharacter.Inventory.AddRange(data.Inventory);
            MainPlayer.ActiveCharacter.Spells.Clear();
            MainPlayer.ActiveCharacter.Spells.AddRange(data.Spells);

            ActiveMapRenderer.ClearOtherPlayers();
            ActiveMapRenderer.ClearOtherNPCs();
            ActiveMapRenderer.ClearMapItems();

            foreach (var character in data.CharacterData)
            {
                if (character.Name.ToLower() == MainPlayer.ActiveCharacter.Name.ToLower())
                {
                    MainPlayer.ActiveCharacter.ApplyData(character, false);                     //do NOT copy paperdoll data over the existing!
                }
                else
                {
                    ActiveMapRenderer.AddOtherPlayer(character);
                }
            }

            foreach (var npc in data.NPCData)
            {
                ActiveMapRenderer.AddOtherNPC(npc);
            }
            foreach (var item in data.MapItemData)
            {
                ActiveMapRenderer.AddMapItem(item);
            }
        }
Example #2
0
        public void ProcessResults_ForShowWelcomeMessage_HandlesSingleResult()
        {
            var wmReqProc = new WelcomeMessageRequestProcessor <WelcomeMessage>
            {
                BaseUrl = "https://api.twitter.com/1.1/",
                Type    = WelcomeMessageType.ShowMessage
            };

            List <WelcomeMessage> msgs = wmReqProc.ProcessResults(TestQuerySingleWelcomeMessageResponse);

            WelcomeMessage welcomeMsg = msgs?.First();

            Assert.IsNotNull(welcomeMsg);
            WelcomeMessageValue val = welcomeMsg.Value;

            Assert.IsNotNull(val);
            WelcomeMsg msg = val.WelcomeMessage;

            Assert.IsNotNull(msg);
            Assert.AreEqual("950134376347574276", msg.Id);
            Assert.AreEqual("1515364662621", msg.CreatedTimestamp);
            Assert.AreEqual("472356", msg.SourceAppId);
            Assert.AreEqual("New Welcome Message", msg.Name);
            WelcomeMessageData data = msg.MessageData;

            Assert.IsNotNull(data);
            Assert.AreEqual("Welcome!", data.Text);
            JObject app       = val.Apps;
            JObject appDetail = app.Value <JObject>("472356");

            Assert.AreEqual("472356", appDetail.Value <string>("id"));
            Assert.AreEqual("LINQ to Tweeter", appDetail.Value <string>("name"));
            Assert.AreEqual("https://github.com/JoeMayo/LinqToTwitter", appDetail.Value <string>("url"));
        }
Example #3
0
        public void ProcessResults_ForListWelcomeMessages_HandlesMultipleResults()
        {
            var wmReqProc = new WelcomeMessageRequestProcessor <WelcomeMessage>
            {
                BaseUrl = "https://api.twitter.com/1.1/",
                Type    = WelcomeMessageType.ListMessages
            };

            List <WelcomeMessage> msgs = wmReqProc.ProcessResults(TestQueryMultipleWelcomeMessageResponses);

            WelcomeMessage welcomeMsg = msgs?.First();

            Assert.IsNotNull(welcomeMsg);
            WelcomeMessageValue val = welcomeMsg.Value;

            Assert.IsNotNull(val);
            List <WelcomeMsg> msgList = val.WelcomeMessages;
            WelcomeMsg        msg     = msgList.FirstOrDefault();

            Assert.IsNotNull(msg);
            Assert.AreEqual("New Welcome Message", msg.Name);
            WelcomeMessageData data = msg.MessageData;

            Assert.IsNotNull(data);
            Assert.AreEqual("Welcome!", data.Text);
        }
Example #4
0
        public async Task UpdateWelcomeMessageAsync_WithName_ReturnsCreatedWelcomeMessage()
        {
            const ulong  WelcomeMessageID = 1;
            const string Name             = "New Name";
            const string Text             = "Welcome!";
            var          ctx = InitializeTwitterContext <WelcomeMsg>(WelcomeMessageResponse);

            WelcomeMessage welcomeMsg = await ctx.UpdateWelcomeMessageAsync(WelcomeMessageID, Name, Text);

            Assert.IsNotNull(welcomeMsg);
            WelcomeMessageValue value = welcomeMsg.Value;

            Assert.IsNotNull(value);
            WelcomeMsg msg = value.WelcomeMessage;

            Assert.IsNotNull(msg);
            Assert.AreEqual("945484689657102340", msg.Id);
            Assert.AreEqual("1514256090927", msg.CreatedTimestamp);
            Assert.AreEqual(new DateTime(2017, 12, 26, 02, 41, 30, 927), msg.CreatedAt);
            WelcomeMessageData msgData = msg.MessageData;

            Assert.IsNotNull(msgData);
            Assert.AreEqual("Welcome!", msgData.Text);
            Entities entities = msgData.Entities;

            Assert.IsNotNull(entities);
            Assert.AreEqual("472356", msg.SourceAppId);
            Assert.AreEqual("New Welcome Message", msg.Name);
            JsonElement apps = value.Apps;

            Assert.IsNotNull(apps);
            JsonElement app = apps.GetProperty(msg.SourceAppId);

            Assert.IsNotNull(app);
            Assert.AreEqual("472356", app.GetString("id"));
            Assert.AreEqual("LINQ to Tweeter", app.GetString("name"));
            Assert.AreEqual("https://github.com/JoeMayo/LinqToTwitter", app.GetString("url"));
        }
Example #5
0
        public async Task NewWelcomeMessageAsync_WithName_ReturnsCreatedWelcomeMessage()
        {
            const string Name = "Test Welcome Message";
            const string Text = "Welcome!";
            var          ctx  = InitializeTwitterContext <WelcomeMessageValue>(WelcomeMessageResponse);

            WelcomeMessage welcomeMsg = await ctx.NewWelcomeMessageAsync(Name, Text);

            Assert.IsNotNull(welcomeMsg);
            WelcomeMessageValue value = welcomeMsg.Value;

            Assert.IsNotNull(value);
            WelcomeMsg msg = value.WelcomeMessage;

            Assert.IsNotNull(msg);
            Assert.AreEqual("945484689657102340", msg.Id);
            Assert.AreEqual("1514256090927", msg.CreatedTimestamp);
            Assert.AreEqual(new DateTime(2017, 12, 26, 02, 41, 30, 927), msg.CreatedAt);
            WelcomeMessageData msgData = msg.MessageData;

            Assert.IsNotNull(msgData);
            Assert.AreEqual("Welcome!", msgData.Text);
            Entities entities = msgData.Entities;

            Assert.IsNotNull(entities);
            Assert.AreEqual("472356", msg.SourceAppId);
            Assert.AreEqual("New Welcome Message", msg.Name);
            JObject apps = value.Apps;

            Assert.IsNotNull(apps);
            JToken app = apps[msg.SourceAppId];

            Assert.IsNotNull(app);
            Assert.AreEqual("472356", app["id"]);
            Assert.AreEqual("LINQ to Tweeter", app["name"]);
            Assert.AreEqual("https://github.com/JoeMayo/LinqToTwitter", app["url"]);
        }