Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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"));
        }
Esempio n. 4
0
        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);
 }
Esempio n. 6
0
 /// <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]);
 }
Esempio n. 7
0
        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());
        }
Esempio n. 8
0
        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"));
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        public Lexicon ListAsLexicon()
        {
            Lexicon result = new Lexicon();

            foreach (KeyValuePair <string, VolumeItem> entry in List())
            {
                result.Add(new StringValue(entry.Key), entry.Value);
            }

            return(result);
        }
Esempio n. 11
0
        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")]);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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;
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
            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);
                    }
                }
            }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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);
 }
Esempio n. 21
0
        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());
        }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
        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());
        }
Esempio n. 24
0
        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")]);
        }
Esempio n. 26
0
        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"]);
        }
Esempio n. 27
0
        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")]);
        }
Esempio n. 28
0
        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"]);
        }
Esempio n. 29
0
        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;
        }
Esempio n. 30
0
        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++;
                }
            }
        }
Esempio n. 31
0
        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;
        }
Esempio n. 32
0
        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();
            }
        }
Esempio n. 33
0
        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;
        }
Esempio n. 34
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;
        }
Esempio n. 35
0
        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;
        }
Esempio n. 36
0
        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);
        }