Beispiel #1
0
        private void TestSmkcImportExport(int trackGroupId, int trackId)
        {
            Game game = File.GetGame(Region.US);

            GPTrack track1   = game.TrackGroups[trackGroupId][trackId] as GPTrack;
            GPTrack track2   = game.TrackGroups[0][0] as GPTrack;
            string  filePath = File.GetOutputPath($"track_{trackGroupId}_{trackId}.smkc");

            track1.Export(filePath, game);
            track2.Import(filePath, game);

            Assert.AreEqual(track1.Map.GetBytes(), track2.Map.GetBytes());
            Assert.AreEqual(track1.Theme, track2.Theme);
            Assert.AreEqual(track1.OverlayTiles.GetBytes(), track2.OverlayTiles.GetBytes());
            Assert.AreEqual(track1.StartPosition.GetBytes(), track2.StartPosition.GetBytes());
            Assert.AreEqual(track1.LapLine.GetBytes(), track2.LapLine.GetBytes());
            Assert.AreEqual(track1.Objects.GetBytes(), track2.Objects.GetBytes());
            Assert.AreEqual(track1.Objects.Zones.GetBytes(), track2.Objects.Zones.GetBytes());
            Assert.AreEqual(track1.Objects.Tileset, track2.Objects.Tileset);
            Assert.AreEqual(track1.Objects.Interaction, track2.Objects.Interaction);
            Assert.AreEqual(track1.Objects.Routine, track2.Objects.Routine);
            Assert.AreEqual(track1.Objects.PaletteIndexes.GetBytes(), track2.Objects.PaletteIndexes.GetBytes());
            Assert.AreEqual(track1.Objects.Flashing, track2.Objects.Flashing);
            Assert.AreEqual(track1.AI.GetBytes(), track2.AI.GetBytes());
        }