public XmlWrite()
 {
     // initialise levelFolder
     StaticVariables.execFolder = AppDomain.CurrentDomain.BaseDirectory;
     StaticVariables.levelFolder = StaticVariables.execFolder;
     // create world
     this.w = new World(10, 10);
     // fill world
     this.w.FillWorld(TERRAIN.grass_normal, new Size(10, 10));
     // initialize player
     this.w.InitPlayer(new PointF(5, 5));
     this.p = w.getPlayer();
     LevelWriter.saveWorld(this.w, this.file);
     beforelist = new TerrainTile[w.getTerrain().Count];
     before = new Entity[w.getEntities().Count];
     // save beforlist
     w.getTerrain().CopyTo(beforelist);
     w.getEntities().CopyTo(before);
     world = new World(10, 10);
     world.loadLevel(this.file);
     afterlist = new TerrainTile[world.getTerrain().Count];
     after = new Entity[world.getEntities().Count];
     // save afterlist
     world.getTerrain().CopyTo(afterlist);
     world.getEntities().CopyTo(after);
 }
        /*
         * Grid simulation setup:
         * G = Grass, W = Water
         * |G|G|G|
         * |G|G|G|
         * |W|W|W|
         */
        public PlayerInventory()
        {
            // Initialize world
            this.w = new World(Size, Size);
            // Fill world with tiles of grass
            w.FillWorld(TERRAIN.grass_normal, new Size(Size, Size));
            // Fill third row with water
            for (int i = 0; i <= 2; i++)
                w.setTerraintile(new Point(i, 2), (int)SPRITES.water);

            // Initialize player
            w.InitPlayer(new PointF(1, 1));
            this.p = w.getPlayer();
        }
        /*
         * Grid simulation setup:
         * G = Grass, W = Water
         * |G|G|G|
         * |G|G|G|
         * |G|G|G|
         */
        public KeyDoor()
        {
            // Initialize world
            this.w = new World(Size, Size);
            // Fill world with tiles of grass
            w.FillWorld(TERRAIN.grass, new Size(Size, Size));

            // Initialize player
            w.InitPlayer(new PointF(0, 0));
            this.p = w.getPlayer();
            p.CurrentDirection = (int)Player.Direction.Down;

            // Initialize door and key
            this.d = new Door(new PointF(1, 0));
            w.addEntity(d);
            this.k = new Key(new PointF(0, 0));
            w.addEntity(k);
        }