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); } }
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")); }
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); }
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")); }
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"]); }