示例#1
0
        List <float> GetValuePairOf(string gemName, string attr, int level, int quality = 0)
        {
            AttributeSet attrs = ItemDB.AttributesOf(gemName, level, quality);

            return(attrs.ContainsKey(attr) ? ItemDB.AttributesOf(gemName, level, quality)[attr] : new List <float> {
                float.NaN, float.NaN
            });
        }
示例#2
0
        public void TestMergeDB()
        {
            ItemDB.Merge("TestItems.xml");
            ItemDB.Index();

            Assert.AreEqual(5, ItemDB.AttributesOf("TestGem", 5, 0)["Attribute1: #"][0]);
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 10, 0)["Attribute1: #"][0]);

            ItemDB.Merge("TestMerge.xml");
            ItemDB.Index();

            // Attribute1: <Value Level="5">21</Value> <ValuePerLevel>5</ValuePerLevel>
            Assert.AreEqual(21, ItemDB.AttributesOf("TestGem", 5, 0)["Attribute1: #"][0], "Level 5");
            Assert.AreEqual(45, ItemDB.AttributesOf("TestGem", 10, 0)["Attribute1: #"][0], "Level 10");
            // Attribute2: <Value Level="5">5</Value> <Value Level="6">7</Value> <ValueForLevel From="1" To="10">10</ValueForLevel>
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 1, 0)["Attribute2: #"][0], "Level 1");
            Assert.AreEqual(6, ItemDB.AttributesOf("TestGem", 5, 0)["Attribute2: #"][0], "Level 5");
            Assert.AreEqual(7, ItemDB.AttributesOf("TestGem", 6, 0)["Attribute2: #"][0], "Level 6");
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 10, 0)["Attribute2: #"][0], "Level 10");
            // Attribute3: <Value Level="5">5</Value> <ValueForLevel From="1" To="7">10</ValueForLevel> <ValueForLevel From="8" To="15">15</ValueForLevel>
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 1, 0)["Attribute3: #"][0], "Level 1");
            Assert.AreEqual(5, ItemDB.AttributesOf("TestGem", 5, 0)["Attribute3: #"][0], "Level 5");
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 7, 0)["Attribute3: #"][0], "Level 7");
            Assert.AreEqual(15, ItemDB.AttributesOf("TestGem", 8, 0)["Attribute3: #"][0], "Level 8");
            Assert.AreEqual(15, ItemDB.AttributesOf("TestGem", 15, 0)["Attribute3: #"][0], "Level 15");
            // Attribute4: <Value Level="5">5</Value> <ValueForLevel From="1" To="7">10</ValueForLevel> <ValueForLevel From="8" To="9">15</ValueForLevel> <Value Level="10">10</Value>
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 1, 0)["Attribute4: #"][0], "Level 1");
            Assert.AreEqual(5, ItemDB.AttributesOf("TestGem", 5, 0)["Attribute4: #"][0], "Level 5");
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 7, 0)["Attribute4: #"][0], "Level 7");
            Assert.AreEqual(15, ItemDB.AttributesOf("TestGem", 8, 0)["Attribute4: #"][0], "Level 8");
            Assert.AreEqual(15, ItemDB.AttributesOf("TestGem", 9, 0)["Attribute4: #"][0], "Level 9");
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 10, 0)["Attribute4: #"][0], "Level 10");
            // Attribute5: <Value Level="1">1</Value> <Value Level="2">2</Value> <Value Level="3">3</Value>
            Assert.AreEqual(1, ItemDB.AttributesOf("TestGem", 1, 0)["Attribute5: #"][0], "Level 1");
            Assert.AreEqual(2, ItemDB.AttributesOf("TestGem", 2, 0)["Attribute5: #"][0], "Level 2");
            Assert.AreEqual(3, ItemDB.AttributesOf("TestGem", 3, 0)["Attribute5: #"][0], "Level 3");
            // Attribute6: <Value Level="1">1</Value> <Value Level="2">2</Value> ... <Value Level="30">30</Value>
            Assert.AreEqual(1, ItemDB.AttributesOf("TestGem", 1, 0)["Attribute6: #"][0], "Level 1");
            Assert.AreEqual(2, ItemDB.AttributesOf("TestGem", 2, 0)["Attribute6: #"][0], "Level 2");
            Assert.AreEqual(30, ItemDB.AttributesOf("TestGem", 30, 0)["Attribute6: #"][0], "Level 30");
            // Attribute7: <Value Level="1">1</Value> <Value Level="2">2</Value> ... <Value Level="30">30</Value>
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 1, 0)["Attribute7: #"][0], "Level 1");
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 2, 0)["Attribute7: #"][0], "Level 2");
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 30, 0)["Attribute7: #"][0], "Level 30");
            // Attribute8: <Value>10</Value>
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 1, 0)["Attribute8: #"][0], "Level 1");
            Assert.AreEqual(10, ItemDB.AttributesOf("TestGem", 30, 0)["Attribute8: #"][0], "Level 30");
        }