TmxMapSerializer.Serializer.TmxSerializer.Deserialize C# (CSharp) Method

Deserialize() public method

public Deserialize ( Stream stream ) : Map
stream Stream
return TmxMapSerializer.Elements.Map
        public new Map Deserialize(Stream stream)
        {
            var fileStream = stream as FileStream;

            if (fileStream == null)
            {
                throw new ArgumentException("Map must be deserialized from .tmx FileStream");
            }

            Map map = (Map)base.Deserialize(stream);

            foreach (Tileset tileset in map.Tilesets)
            {
                tileset.Image.Source = fileStream.Name.Substring(0, fileStream.Name.LastIndexOf(@"\", StringComparison.Ordinal))+ @"\" + tileset.Image.Source;
            }

            return map;
        }
    }

Usage Example

Beispiel #1
0
        public void WorldUpdatesAutoupdateables()
        {
            var tmxStream = FileStreams.SmallTmx();
            var tilesetTableStreamReader = new StreamReader(FileStreams.TilesetTableStream());

            TmxSerializer serializer = new TmxSerializer();
            Map map = serializer.Deserialize(tmxStream);
            TestingToyWorld toyWorld = new TestingToyWorld(map, tilesetTableStreamReader);
            toyWorld.SetRegister(new AutoupdateRegister());

            Mock<IAutoupdateableGameActor> mock1 = new Mock<IAutoupdateableGameActor>();
            Mock<IAutoupdateableGameActor> mock2 = new Mock<IAutoupdateableGameActor>();
            toyWorld.AutoupdateRegister.Register(mock1.Object, 1);
            toyWorld.AutoupdateRegister.Register(mock2.Object, 2);

            // Act
            toyWorld.Update();

            // Assert
            mock1.Verify(x => x.Update(It.IsAny<Atlas>(), It.IsAny<TilesetTable>()));
            mock2.Verify(x => x.Update(It.IsAny<Atlas>(), It.IsAny<TilesetTable>()), Times.Never());

            // Act
            toyWorld.Update();

            // Assert
            mock2.Verify(x => x.Update(It.IsAny<Atlas>(), It.IsAny<TilesetTable>()));
        }
All Usage Examples Of TmxMapSerializer.Serializer.TmxSerializer::Deserialize