public CreateLevelFromJavatoXml() { String nameLevel = ""; for (int i = 1; i < mountOfLevels; i++) { nameLevel = "Level_" + i.ToString(); var lvlMain = Activator.CreateInstance(null, nameLevel); LevelMain lv = (LevelMain)lvlMain.Unwrap(); int[,] table = lv.posLevel; Level level = new Level(); level.numberOfLevel = i; level.timeToFinish = lv.timeLevel; if (lv.timeLevel == 0) { Debug.Log("WARNING!!! Timer = 0; level = " + i.ToString()); } for (int y = 0; y < rows; y++) { for (int x = 0; x < colomns; x++) { int bl = table[x, y]; if (bl != 0) { Block blockBlock = new Block(); blockBlock.PosX = x; blockBlock.PosY = (this.rows - 1) - y; blockBlock.PosZ = 0; BlockTeleportation telBlock = new BlockTeleportation(); if (bl == 6) { telBlock.PosX = x; telBlock.PosY = (this.rows - 1) - y; telBlock.PosZ = 0; telBlock.teleportToX = -20; telBlock.teleportToY = -20; telBlock.teleportToZ = 0; } switch (bl) { case 1: blockBlock.TypeOfBlock = TypeOfBlock.BLOCK; level.blocksList.Add(blockBlock); break; case 2: blockBlock.TypeOfBlock = TypeOfBlock.PATH; level.blocksList.Add(blockBlock); break; case 3: blockBlock.TypeOfBlock = TypeOfBlock.BROKEN; level.blocksList.Add(blockBlock); break; case 4: blockBlock.TypeOfBlock = TypeOfBlock.START; level.blocksList.Add(blockBlock); break; case 5: blockBlock.TypeOfBlock = TypeOfBlock.EXIT; level.blocksList.Add(blockBlock); break; case 6: blockBlock.TypeOfBlock = TypeOfBlock.TELEPORT; level.blocksList.Add(blockBlock); level.blTeleportsList.Add(telBlock); break; case 7: blockBlock.TypeOfBlock = TypeOfBlock.LOCK_GREEN; level.blocksList.Add(blockBlock); break; case 8: blockBlock.TypeOfBlock = TypeOfBlock.LOCK_RED; level.blocksList.Add(blockBlock); break; case 9: blockBlock.TypeOfBlock = TypeOfBlock.MOVE_UP; level.blocksList.Add(blockBlock); break; case 10: blockBlock.TypeOfBlock = TypeOfBlock.MOVE_RIGHT; level.blocksList.Add(blockBlock); break; case 11: blockBlock.TypeOfBlock = TypeOfBlock.MOVE_DOWN; level.blocksList.Add(blockBlock); break; case 12: blockBlock.TypeOfBlock = TypeOfBlock.MOVE_LEFT; level.blocksList.Add(blockBlock); break; case 13: blockBlock.TypeOfBlock = TypeOfBlock.MOVE_UP_DOWN; level.blocksList.Add(blockBlock); break; case 14: blockBlock.TypeOfBlock = TypeOfBlock.MOVE_LEFT_RIGHT; level.blocksList.Add(blockBlock); break; case 15: blockBlock.TypeOfBlock = TypeOfBlock.MOVE_ALL; level.blocksList.Add(blockBlock); break; case 16: blockBlock.TypeOfBlock = TypeOfBlock.KEY_GREEN; level.blocksList.Add(blockBlock); break; case 17: blockBlock.TypeOfBlock = TypeOfBlock.KEY_RED; level.blocksList.Add(blockBlock); break; case 18: blockBlock.TypeOfBlock = TypeOfBlock.TIME; level.blocksList.Add(blockBlock); break; } } } } LevelManager levelManager = new LevelManager(level); levelManager.SaveLevelToXml("Level" + i.ToString() + ".xml"); } }