Beispiel #1
0
        private TreeNode CreateTileEntryTreeNode(BIFTilesetEntry bifTilesetEntry, int entryNumber)
        {
            var entryNode = new TreeNode(string.Format("Tile Entry Number - {0}", entryNumber));
            entryNode.Nodes.Add(new TreeNode(string.Format("Resource Locator: {0}", bifTilesetEntry.Locator)));
            entryNode.Nodes.Add(new TreeNode(string.Format("Resource Offset: {0}", bifTilesetEntry.Offset)));
            entryNode.Nodes.Add(new TreeNode(string.Format("Resource Count: {0}", bifTilesetEntry.Count)));
            entryNode.Nodes.Add(new TreeNode(string.Format("Resource Size: {0}", bifTilesetEntry.Size)));
            entryNode.Nodes.Add(new TreeNode(string.Format("Resource Type: {0} ({1})", bifTilesetEntry.Type, ResourceTypesHelper.GetResourceStringFromType(bifTilesetEntry.Type))));
            entryNode.Nodes.Add(new TreeNode(string.Format("Resource Unknown: {0}", bifTilesetEntry.UnknownData)));

            return entryNode;
        }
Beispiel #2
0
        public void should_create_tile_entries()
        {
            var dummyEntry1 = new BIFTilesetEntry(0x1, 0x2, 0x3, 0x4, 0x5, 0x6);
            var dummyEntry2 = new BIFTilesetEntry(0x2, 0x5, 0x3, 0x4, 0x5, 0x6);
            var expectedOutput = new List<BIFTilesetEntry> { dummyEntry1, dummyEntry2 };

            var plugin = new BIFPlugin();
            var bifDescriptor = new BIFDescriptor();
            bifDescriptor.TilesetCount = 2;
            bifDescriptor.TilesetEntryOffset = 0;

            var entriesBytes = new byte[]
                                  {
                                    // Entry 1
                                    0x01, 0x00, 0x00, 0x00,    // Locator int32
                                    0x02, 0x00, 0x00, 0x00,    // Offset int32
                                    0x03, 0x00, 0x00, 0x00,    // Count int32
                                    0x04, 0x00, 0x00, 0x00,    // Size int32
                                    0x05, 0x00,                // Type int16
                                    0x06, 0x00,                // Unknown int16
                                    // Entry 2
                                    0x02, 0x00, 0x00, 0x00,    // Locator int32
                                    0x05, 0x00, 0x00, 0x00,    // Offset int32
                                    0x03, 0x00, 0x00, 0x00,    // Count int32
                                    0x04, 0x00, 0x00, 0x00,    // Size int32
                                    0x05, 0x00,                // Type int16
                                    0x06, 0x00,                // Unknown int16
                                  };

            var memoryStream = new MemoryStream(entriesBytes);
            var binaryReader = new BinaryReader(memoryStream);

            var createTileEntriesMethod = plugin.GetType().GetMethod("ReadTileEntries", BindingFlags.NonPublic | BindingFlags.Instance);
            var result = createTileEntriesMethod.Invoke(plugin, new object[] { binaryReader, bifDescriptor });

            Assert.That(result, Is.TypeOf(typeof(List<BIFTilesetEntry>)));

            CollectionAssert.AreEquivalent((List<BIFTilesetEntry>)result, expectedOutput);
        }