private Map GenerateInvalidSolidMap(decimal variance, decimal startLocation, decimal cubeSize) { var map = new Map(); var block = new BlockBrush(); var st = Coordinate.One * startLocation; var brush = block.Create(map.IDGenerator, new Box(st, st + Coordinate.One * cubeSize), null, 0).OfType <Solid>().First(); var verts = brush.Faces.SelectMany(x => x.Vertices).Where(x => x.Location == st).ToList(); verts.ForEach(x => x.Location.X -= variance); brush.SetParent(map.WorldSpawn); return(map); }
public void TestMapObjectSerialisation() { // compare the *'s: // brush -> GS -> string* -> GS -> brush -> GS -> string* var brush = new BlockBrush(); var b = brush.Create(new IDGenerator(), new Box(Coordinate.Zero, Coordinate.One * 100), null, 0); var serialised = GenericStructure.Serialise(b); var toString = serialised.ToString(); var parsed = GenericStructure.Parse(new StringReader(toString)); var deserialised = GenericStructure.Deserialise <List <MapObject> >(parsed.First()); var reserialised = GenericStructure.Serialise(deserialised); Assert.AreEqual(serialised.ToString(), reserialised.ToString()); }