private SerializableStructure MakeNestedExample() { const string OUTER_STRING = "String, outer value"; var map = new Lexicon(); var innerMap1 = new Lexicon(); var innerMap2 = new Lexicon(); var innerInnerMap = new Lexicon { { new StringValue("inner"), new StringValue("inner string 1") }, { new ScalarIntValue(2), new ScalarIntValue(2) } }; innerMap1.Add(new StringValue("map"), innerInnerMap); innerMap1.Add(new StringValue("2"), new StringValue("string,one.two")); innerMap1.Add(new ScalarIntValue(3), new StringValue("string,one.three")); innerMap2.Add(new StringValue("testing"), new StringValue("string,two.one")); innerMap2.Add(new StringValue("2"), new StringValue("string,two.two")); InvokeDelegate(map, "ADD", new StringValue("first"), new ScalarIntValue(100)); InvokeDelegate(map, "ADD", new StringValue("second"), new ScalarIntValue(200)); InvokeDelegate(map, "ADD", new StringValue("inner"), innerMap1); InvokeDelegate(map, "ADD", new StringValue("inner2"), innerMap2); InvokeDelegate(map, "ADD", new StringValue("last"), new StringValue(OUTER_STRING)); return(map); }
private IDumper MakeNestedExample() { const string OUTER_STRING = "String, outer value"; var map = new Lexicon <object, object>(); var innerMap1 = new Lexicon <object, object>(); var innerMap2 = new Lexicon <object, object>(); var innerInnerMap = new Lexicon <object, object> { { "inner", "inner string 1" }, { 2, 2 } }; innerMap1.Add("map", innerInnerMap); innerMap1.Add("2", "string,one.two"); innerMap1.Add(3, "string,one.three"); innerMap2.Add("testing", "string,two.one"); innerMap2.Add("2", "string,two.two"); InvokeDelegate(map, "ADD", "first", 100); InvokeDelegate(map, "ADD", "second", 200); InvokeDelegate(map, "ADD", "inner", innerMap1); InvokeDelegate(map, "ADD", "inner2", innerMap2); InvokeDelegate(map, "ADD", "last", OUTER_STRING); return(map); }
public void CanShallowPrintListInLexicon() { var list = new ListValue(); list.Add("First In List"); list.Add("Second In List"); list.Add("Last In List"); var lexicon = new Lexicon<object, object>(); lexicon.Add("list", list); lexicon.Add("not list", 2); var result = lexicon.ToString(); Assert.IsTrue(result.Contains("LEXICON of 2 items")); Assert.IsTrue(result.Contains(" [\"list\"]= LIST of 3 items")); Assert.IsFalse(result.Contains("Last In List")); }
public void CanGetCorrectLexiconIndex() { var list = new Lexicon(); list.Add(new StringValue("foo"), new StringValue("bar")); list.Add(new StringValue("fizz"), new StringValue("bang")); cpu.PushStack(list); const string INDEX = "fizz"; cpu.PushStack(INDEX); var opcode = new OpcodeGetIndex(); opcode.Execute(cpu); Assert.AreEqual(2, list.Count); Assert.AreEqual(new StringValue("bang"), cpu.PopStack()); }
public SExpressionSyntax Include(params Token[] tokens) { foreach (var token in tokens) { Lexicon.Add(new Tuple <string, Token>(token.Id, token)); } return(this); }
/// <summary> /// Learns a new token, but doesn't actually link it to anything. /// </summary> /// <param name="s"></param> public Token LearnToken(string s) { if (!Lexicon.Contains(s)) { var t = new Token(s); Lexicon.Add(t); return(t); } return(Lexicon[s]); }
public void CanShallowPrintListInLexicon() { var list = new ListValue(); list.Add("First In List"); list.Add("Second In List"); list.Add("Last In List"); var lexicon = new Lexicon <object, object>(); lexicon.Add("list", list); lexicon.Add("not list", 2); var result = lexicon.ToString(); Assert.IsTrue(result.Contains("LEXICON of 2 items")); Assert.IsTrue(result.Contains(" [\"list\"]= LIST of 3 items")); Assert.IsFalse(result.Contains("Last In List")); }
public Lexicon GetConsumedResources() { var resources = new Lexicon(); foreach (Propellant p in module.propellants) { resources.Add(new StringValue(p.displayName), new ConsumedResourceValueRCS(p, Shared)); } return(resources); }
public Lexicon ListAsLexicon() { Lexicon result = new Lexicon(); foreach (KeyValuePair <string, VolumeItem> entry in List()) { result.Add(new StringValue(entry.Key), entry.Value); } return(result); }
public void CanHandleSerializableStructures() { Lexicon lex = new Lexicon(); lex.Add(new StringValue("key1"), new StringValue("value1")); queue.Push(new BaseMessage(new SafeSerializationMgr(null).Dump(lex), 0, 0)); Lexicon read = new SafeSerializationMgr(null).CreateFromDump(queue.Pop().Content as Dump) as Lexicon; Assert.AreEqual(new StringValue("value1"), read[new StringValue("key1")]); }
private Lexicon GetResourceDictionary() { var resources = shared.Vessel.GetActiveResources(); var toReturn = new Lexicon(); foreach (var resource in resources) { toReturn.Add(new StringValue(resource.info.name), new ActiveResourceValue(resource, shared)); } return(toReturn); }
private Lexicon GetResourceDictionary() { var resources = shared.Vessel.GetActiveResources(); var toReturn = new Lexicon(); foreach (var resource in resources) { toReturn.Add(new StringValue(resource.info.name), new ActiveResourceValue(resource, shared)); } return toReturn; }
public void CanRemoveKeyOfDifferentCase() { var lex = new Lexicon<object, object> {{"foo", "bar"}}; Assert.AreEqual(1, lex.Count); lex.Remove("foo"); Assert.AreEqual(0, lex.Count); lex.Add("foo", "bar"); Assert.AreEqual(1, lex.Count); lex.Remove("FOO"); Assert.AreEqual(0, lex.Count); lex.Add("foo", "bar"); Assert.AreEqual(1, lex.Count); lex.Remove("Foo"); Assert.AreEqual(0, lex.Count); }
public void Visit(AbstractSyntaxTreeNode node) { var words = _splitter.Split(node.Value); foreach (var word in words) { Content += " " + word + " "; if (!Lexicon.Contains(word)) { Lexicon.Add(word); } } }
public void CanRemoveKeyOfDifferentCase() { var lex = new Lexicon <object, object> { { "foo", "bar" } }; Assert.AreEqual(1, lex.Count); lex.Remove("foo"); Assert.AreEqual(0, lex.Count); lex.Add("foo", "bar"); Assert.AreEqual(1, lex.Count); lex.Remove("FOO"); Assert.AreEqual(0, lex.Count); lex.Add("foo", "bar"); Assert.AreEqual(1, lex.Count); lex.Remove("Foo"); Assert.AreEqual(0, lex.Count); }
public Lexicon GetConsumedResources() { var resources = new Lexicon(); foreach (ModuleEngines e in FilteredEngineList) { foreach (Propellant p in e.propellants) { resources.Add(new StringValue(p.displayName), new ConsumedResourceValue(e, p, Shared)); } } return(resources); }
public void CanRemoveKeyOfDifferentCase() { var lex = new Lexicon { { new StringValue("foo"), new StringValue("bar") } }; Assert.AreEqual(1, lex.Count); lex.Remove(new StringValue("foo")); Assert.AreEqual(0, lex.Count); lex.Add(new StringValue("foo"), new StringValue("bar")); Assert.AreEqual(1, lex.Count); lex.Remove(new StringValue("FOO")); Assert.AreEqual(0, lex.Count); lex.Add(new StringValue("foo"), new StringValue("bar")); Assert.AreEqual(1, lex.Count); lex.Remove(new StringValue("Foo")); Assert.AreEqual(0, lex.Count); }
private void UpdateLocalLexicon() { foreach (var m in Text.Lexicon.Keys) { // this is problematic as it will re-add existing text lexicon // result is that the lexicon sums will be multiplied. //Lexicon.Add(m.Graph.ToLower(), Text.Lexicon[m]); if (!Lexicon.ContainsKey(m)) { Lexicon.Add(m, Text.Lexicon[m]); } } }
public Syntax Include(Token token) { if (Lexicon.FirstOrDefault(pair => pair.Item1 == token.Pattern) == null) { if (token.HasPriority) { Lexicon.Insert(0, Tuple.Create(token.Pattern, token)); } else { Lexicon.Add(Tuple.Create(token.Pattern, token)); } } return(this); }
public void CanGetLexiconIndex() { var list = new Lexicon<object,object>(); list.Add("foo", "bar"); cpu.PushStack(list); const string INDEX = "foo"; cpu.PushStack(INDEX); var opcode = new OpcodeGetIndex(); opcode.Execute(cpu); Assert.AreEqual(1, list.Count); Assert.AreEqual("bar", cpu.PopStack()); }
private Lexicon GetResourceDictionary() { if (resLex != null) { return(resLex); } resLex = new Lexicon(); CreatePartSet(); var defs = PartResourceLibrary.Instance.resourceDefinitions; foreach (var def in defs) { resLex.Add(new StringValue(def.name), new ActiveResourceValue(def, shared, this, partSet)); } return(resLex); }
public void CanGetLexiconIndex() { var list = new Lexicon <object, object>(); list.Add("foo", "bar"); cpu.PushStack(list); const string INDEX = "foo"; cpu.PushStack(INDEX); var opcode = new OpcodeGetIndex(); opcode.Execute(cpu); Assert.AreEqual(1, list.Count); Assert.AreEqual("bar", cpu.PopStack()); }
public void CanSetLexiconIndex() { Encapsulation.Structure index = new StringValue("foo"); var lex = new Lexicon(); lex.Add(index, new StringValue("bar")); cpu.PushStack(lex); cpu.PushStack(index); const string VALUE = "fizz"; cpu.PushStack(VALUE); var opcode = new OpcodeSetIndex(); opcode.Execute(cpu); Assert.AreEqual(1, lex.Count); Assert.AreNotEqual("bar", lex[new StringValue("foo")]); }
public void CanSetLexiconIndex() { Encapsulation.Structure index = new StringValue("foo"); var lex = new Lexicon(); lex.Add(index, new StringValue("bar")); cpu.PushArgumentStack(lex); cpu.PushArgumentStack(index); const string VALUE = "fizz"; cpu.PushArgumentStack(VALUE); var opcode = new OpcodeSetIndex(); opcode.Execute(cpu); Assert.AreEqual(1, lex.Count); Assert.AreNotEqual("bar", lex[new StringValue("foo")]); }
public void CanSetLexiconIndex() { const string INDEX = "foo"; var lex = new Lexicon <object, object>(); lex.Add(INDEX, "bar"); cpu.PushStack(lex); cpu.PushStack(INDEX); const string VALUE = "fizz"; cpu.PushStack(VALUE); var opcode = new OpcodeSetIndex(); opcode.Execute(cpu); Assert.AreEqual(1, lex.Count); Assert.AreNotEqual("bar", lex["foo"]); }
public void CanSetLexiconIndex() { const string INDEX = "foo"; var lex = new Lexicon<object,object>(); lex.Add(INDEX, "bar"); cpu.PushStack(lex); cpu.PushStack(INDEX); const string VALUE = "fizz"; cpu.PushStack(VALUE); var opcode = new OpcodeSetIndex(); opcode.Execute(cpu); Assert.AreEqual(1, lex.Count); Assert.AreNotEqual("bar", lex["foo"]); }
private IDumper MakeNestedExample() { const string OUTER_STRING = "String, outer value"; var map = new Lexicon<object,object>(); var innerMap1 = new Lexicon<object,object>(); var innerMap2 = new Lexicon<object,object>(); var innerInnerMap = new Lexicon<object,object> { {"inner", "inner string 1"}, {2, 2} }; innerMap1.Add("map", innerInnerMap); innerMap1.Add("2", "string,one.two"); innerMap1.Add(3, "string,one.three"); innerMap2.Add("testing", "string,two.one" ); innerMap2.Add("2", "string,two.two" ); InvokeDelegate(map,"ADD", "first", 100); InvokeDelegate(map,"ADD", "second", 200); InvokeDelegate(map,"ADD", "inner", innerMap1); InvokeDelegate(map,"ADD", "inner2", innerMap2); InvokeDelegate(map,"ADD", "last", OUTER_STRING); return map; }
public void ExtractAllExceptMap(string path, HashSet<uint> stuff, ref Lexicon<uint, VideoBag.SpriteSheetInfo> ssilist) { uint i = 0; Section.SectionEntry entry = null; Section sct = null; foreach (Section s in sections) { foreach (Section.SectionEntry e in s.Entries) { entry = e; sct = s; if (!stuff.Contains(i)) { BinaryReader rdr = new BinaryReader(bag); rdr.BaseStream.Seek(sct.Offset, SeekOrigin.Begin); byte[] nxzData = rdr.ReadBytes((int)sct.SizeCompressed); byte[] mapData = new byte[sct.SizeUncompressed]; if (!NoxShared.CryptApi.NxzDecrypt(nxzData, mapData)) { Debug.WriteLine("ExtractOne: Couldn't NxzDecrypt"); } MemoryStream nxzStream = new MemoryStream(mapData); nxzStream.Seek(entry.Offset, SeekOrigin.Begin); VideoBag.SpriteSheetInfo ssi = new VideoBag.SpriteSheetInfo(); ssi.imageID = i; ssi.file = path + "/" + i.ToString() + ".png"; var bitmap = entry.GetBitmap(nxzStream, header.bits8, i, ref ssi.offsetX, ref ssi.offsetY); ssi.X = 0; ssi.Y = 0; ssi.width = bitmap.Width; ssi.height = bitmap.Height; bitmap.Save(ssi.file); ssilist.Add(ssi.imageID, ssi); } i++; } } }
private Lexicon GetResourceDictionary() { if (resLex != null) return resLex; resLex = new Lexicon(); CreatePartSet(); var defs = PartResourceLibrary.Instance.resourceDefinitions; foreach (var def in defs) { resLex.Add(new StringValue(def.name), new ActiveResourceValue(def, shared, this, partSet)); } return resLex; }
protected async void Page_Load() { HttpClient client = new HttpClient(); var doc = new HtmlAgilityPack.HtmlDocument(); var html = await client.GetStringAsync("http://ffxivhunt.com/" + FFXIV_Safari.Properties.Settings.Default.serverselect.ToLower()); doc.LoadHtml(html); if (this.InvokeRequired) { BlinkDelegate del = new BlinkDelegate(Page_Load); this.Invoke(del); } else { huntdata.Suspend(); elitemarksA.Clear(); elitemarksS.Clear(); finaloutputA.Clear(); finaloutputS.Clear(); huntdata.Clear(); elitemarksA.Add("Forneus", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_35']/span[@class='time']")[0].InnerText); elitemarksA.Add("Girtab", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_38']/span[@class='time']")[0].InnerText); elitemarksA.Add("Melt", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_5']/span[@class='time']")[0].InnerText); elitemarksA.Add("Ghede Ti Malice", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][4]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_32']/span[@class='time']")[0].InnerText); elitemarksS.Add("Laideronnette", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_36']/span[@class='time']")[0].InnerText); elitemarksS.Add("Thousand-cast Theda", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_39']/span[@class='time']")[0].InnerText); elitemarksS.Add("Wulgaru", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_6']/span[@class='time']")[0].InnerText); elitemarksS.Add("Mindflayer", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][4]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_33']/span[@class='time']")[0].InnerText); elitemarksA.Add("Sabotender Bailarina", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_50']/span[@class='time']")[0].InnerText); elitemarksA.Add("Alectyron", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][5]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_8']/span[@class='time']")[0].InnerText); elitemarksA.Add("Zanig'oh", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][4]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_44']/span[@class='time']")[0].InnerText); elitemarksA.Add("Dalvag's Final Flame", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_47']/span[@class='time']")[0].InnerText); elitemarksA.Add("Maahes", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_41']/span[@class='time']")[0].InnerText); elitemarksS.Add("Brontes", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_51']/span[@class='time']")[0].InnerText); elitemarksS.Add("Zona Seeker", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][5]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_9']/span[@class='time']")[0].InnerText); elitemarksS.Add("Nunyunuwi", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][4]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_45']/span[@class='time']")[0].InnerText); elitemarksS.Add("Minhocao", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_48']/span[@class='time']")[0].InnerText); elitemarksS.Add("Lampalagua", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_42']/span[@class='time']")[0].InnerText); elitemarksA.Add("Hellsclaw", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_20']/span[@class='time']")[0].InnerText); elitemarksA.Add("Unktehi", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_23']/span[@class='time']")[0].InnerText); elitemarksA.Add("Vogaal Ja", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_17']/span[@class='time']")[0].InnerText); elitemarksA.Add("Cornu", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][4]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_29']/span[@class='time']")[0].InnerText); elitemarksA.Add("Marberry", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][5]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_26']/span[@class='time']")[0].InnerText); elitemarksA.Add("Nahn", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][6]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_2']/span[@class='time']")[0].InnerText); elitemarksS.Add("Garlok", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_21']/span[@class='time']")[0].InnerText); elitemarksS.Add("Croakadile", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_24']/span[@class='time']")[0].InnerText); elitemarksS.Add("Croque-Mitaine", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_18']/span[@class='time']")[0].InnerText); elitemarksS.Add("Mahisha", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][4]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_30']/span[@class='time']")[0].InnerText); elitemarksS.Add("Nandi", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][5]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_27']/span[@class='time']")[0].InnerText); elitemarksS.Add("Bonnacon", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][1]/div[@class='panel panel-info']/table[@class='table table-condensed table-hover'][6]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_3']/span[@class='time']")[0].InnerText); elitemarksA.Add("Mirka", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_53']/span[@class='time']")[0].InnerText); elitemarksA.Add("Lyuba", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_68']/span[@class='time']")[0].InnerText); elitemarksA.Add("Marraco", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_11']/span[@class='time']")[0].InnerText); elitemarksA.Add("Kurrea", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover']/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_14']/span[@class='time']")[0].InnerText); elitemarksS.Add("Kaiser Behemoth", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][3]/td[@class='t140']/a[@id='mob_54']/span[@class='time']")[0].InnerText); elitemarksS.Add("Safat", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][2]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_12']/span[@class='time']")[0].InnerText); elitemarksS.Add("Agrippa the Mighty", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][3]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover']/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_15']/span[@class='time']")[0].InnerText); elitemarksA.Add("Pylraster", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_59']/span[@class='time']")[0].InnerText); elitemarksA.Add("Lord of the Wyverns", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_75']/span[@class='time']")[0].InnerText); elitemarksA.Add("Slipkinx Steeljoints", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_62']/span[@class='time']")[0].InnerText); elitemarksA.Add("Stolas", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_77']/span[@class='time']")[0].InnerText); elitemarksA.Add("Bune", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_65']/span[@class='time']")[0].InnerText); elitemarksA.Add("Agathos", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_81']/span[@class='time']")[0].InnerText); elitemarksS.Add("Senmurv", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][3]/td[@class='t140']/a[@id='mob_60']/span[@class='time']")[0].InnerText); elitemarksS.Add("The Pale Rider", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][3]/tbody/tr[@class='hot-toggle'][3]/td[@class='t140']/a[@id='mob_63']/span[@class='time']")[0].InnerText); elitemarksS.Add("Gandarewa", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][1]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][3]/td[@class='t140']/a[@id='mob_66']/span[@class='time']")[0].InnerText); elitemarksA.Add("Campacti", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_71']/span[@class='time']")[0].InnerText); elitemarksA.Add("Stench Blossom", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_72']/span[@class='time']")[0].InnerText); elitemarksA.Add("Enkelados", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][1]/td[@class='t140']/a[@id='mob_56']/span[@class='time']")[0].InnerText); elitemarksA.Add("Sisiutl", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][2]/td[@class='t140']/a[@id='mob_79']/span[@class='time']")[0].InnerText); elitemarksS.Add("Leucrotta", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][1]/tbody/tr[@class='hot-toggle'][3]/td[@class='t140']/a[@id='mob_73']/span[@class='time']")[0].InnerText); elitemarksS.Add("Bird of Paradise", doc.DocumentNode.SelectNodes("/html/body/div[@id='timer']/div[@class='row breath']/div[@class='col-md-3 col-sm-6'][4]/div[@class='panel panel-info'][2]/table[@class='table table-condensed table-hover'][2]/tbody/tr[@class='hot-toggle'][3]/td[@class='t140']/a[@id='mob_57']/span[@class='time']")[0].InnerText); printData(); } }
public int PackImage( IEnumerable<KeyValuePair<string, Bitmap>> input, bool requirePowerOfTwo, bool requireSquareImage, int maximumWidth, int maximumHeight, int imagePadding, bool generateMap, out Bitmap outputImage, out Lexicon<string, Rectangle> outputMap, out List<uint> outFailedPlacements) { files = new List<KeyValuePair<string, Bitmap>>(input);//new List<string>();// (imageFiles); requirePow2 = requirePowerOfTwo; requireSquare = requireSquareImage; outputWidth = maximumWidth; outputHeight = maximumHeight; padding = imagePadding; outputImage = null; outputMap = null; outFailedPlacements = null; // make sure our dictionaries are cleared before starting imageSizes.Clear(); imagePlacement.Clear(); // get the sizes of all the images foreach(KeyValuePair<string, Bitmap> kv in input) { imageSizes.Add(kv.Key, kv.Value.Size); } /*foreach (var image in files) { Bitmap bitmap = Bitmap.FromFile(image) as Bitmap; if (bitmap == null) return (int)FailCode.FailedToLoadImage; imageSizes.Add(image, bitmap.Size); }*/ // sort our files by file size so we place large sprites first files.Sort( (f1, f2) => { Size b1 = imageSizes[f1.Key][0]; Size b2 = imageSizes[f2.Key][0]; int c = -b1.Width.CompareTo(b2.Width); if (c != 0) return c; c = -b1.Height.CompareTo(b2.Height); if (c != 0) return c; return f1.Key.CompareTo(f2.Key); }); // try to pack the images if (!PackImageRectangles()) return (int)FailCode.FailedToPackImage; // make our output image outputImage = CreateOutputImage(); if (outputImage == null) return (int)FailCode.FailedToSaveImage; if (generateMap) { // go through our image placements and replace the width/height found in there with // each image's actual width/height (since the ones in imagePlacement will have padding) string[] keys = new string[imagePlacement.Keys.Count]; imagePlacement.Keys.CopyTo(keys, 0); foreach (var k in keys) { // get the actual size Size s = imageSizes[k][0]; // get the placement rectangle Rectangle r = imagePlacement[k][0]; // set the proper size r.Width = s.Width; r.Height = s.Height; // insert back into the dictionary imagePlacement[k][0] = r; } // copy the placement dictionary to the output outputMap = new Lexicon<string, Rectangle>(); foreach (var pair in imagePlacement) { outputMap.Add(pair.Key, pair.Value); } } // clear our dictionaries just to free up some memory imageSizes.Clear(); imagePlacement.Clear(); outFailedPlacements = FailedPlacements; return 0; }
private bool TestPackingImages(int testWidth, int testHeight, Lexicon<string, Rectangle> testImagePlacement) { // create the rectangle packer ArevaloRectanglePacker rectanglePacker = new ArevaloRectanglePacker(testWidth, testHeight); foreach (var image in files) { // get the bitmap for this file Size size = imageSizes[image.Key][0]; // pack the image Point origin; if (!rectanglePacker.TryPack(size.Width + padding, size.Height + padding, out origin)) { return false; } // add the destination rectangle to our dictionary testImagePlacement.Add(image.Key, new Rectangle(origin.X, origin.Y, size.Width + padding, size.Height + padding)); } return true; }
private Lexicon MakeNestedExample() { const string OUTER_STRING = "String, outer value"; var map = new Lexicon(); var innerMap1 = new Lexicon(); var innerMap2 = new Lexicon(); var innerInnerMap = new Lexicon { {new StringValue("inner"), new StringValue("inner string 1")}, {new ScalarIntValue(2), new ScalarIntValue(2)} }; innerMap1.Add(new StringValue("map"), innerInnerMap); innerMap1.Add(new StringValue("2"), new StringValue("string,one.two")); innerMap1.Add(new ScalarIntValue(3), new StringValue("string,one.three")); innerMap2.Add(new StringValue("testing"), new StringValue("string,two.one") ); innerMap2.Add(new StringValue("2"), new StringValue("string,two.two") ); InvokeDelegate(map,"ADD", new StringValue("first"), new ScalarIntValue(100)); InvokeDelegate(map,"ADD", new StringValue("second"), new ScalarIntValue(200)); InvokeDelegate(map,"ADD", new StringValue("inner"), innerMap1); InvokeDelegate(map,"ADD", new StringValue("inner2"), innerMap2); InvokeDelegate(map,"ADD", new StringValue("last"), new StringValue(OUTER_STRING)); return map; }
public void CanRemoveKeyOfDifferentCase() { var lex = new Lexicon {{new StringValue("foo"), new StringValue("bar")}}; Assert.AreEqual(1, lex.Count); lex.Remove(new StringValue("foo")); Assert.AreEqual(0, lex.Count); lex.Add(new StringValue("foo"), new StringValue("bar")); Assert.AreEqual(1, lex.Count); lex.Remove(new StringValue("FOO")); Assert.AreEqual(0, lex.Count); lex.Add(new StringValue("foo"), new StringValue("bar")); Assert.AreEqual(1, lex.Count); lex.Remove(new StringValue("Foo")); Assert.AreEqual(0, lex.Count); }