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"); } }
public GameObject GenerateBlock(Level level, Block block) { GameObject gameObject = null; switch (block.TypeOfBlock) { case TypeOfBlock.BLOCK: wall.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = wall; break; case TypeOfBlock.PATH: path.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = path; break; case TypeOfBlock.START: start.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = start; PlayerSetPos(start.transform.position); break; case TypeOfBlock.EXIT: end.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = end; break; case TypeOfBlock.MOVE_ALL: moveAll.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = moveAll; break; case TypeOfBlock.MOVE_DOWN: moveDown.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = moveDown; break; case TypeOfBlock.MOVE_LEFT: moveLeft.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = moveLeft; break; case TypeOfBlock.MOVE_LEFT_RIGHT: moveLeftRight.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = moveLeftRight; break; case TypeOfBlock.MOVE_RIGHT: moveRight.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = moveRight; break; case TypeOfBlock.MOVE_UP: moveUp.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = moveUp; break; case TypeOfBlock.MOVE_UP_DOWN: moveUpDown.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = moveUpDown; break; case TypeOfBlock.BROKEN: broken.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = broken; break; case TypeOfBlock.KEY_RED: keyRed.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = keyRed; break; case TypeOfBlock.KEY_GREEN: keyGreen.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = keyGreen; break; case TypeOfBlock.LOCK_RED: lockRed.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = lockRed; break; case TypeOfBlock.LOCK_GREEN: lockGreen.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = lockGreen; break; case TypeOfBlock.TIME: extraTime.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); gameObject = extraTime; break; case TypeOfBlock.TELEPORT: teleport.transform.position = new Vector3(block.PosX, block.PosY, block.PosZ); BlockTeleportation telBlock = new BlockTeleportation(); foreach (BlockTeleportation tlBlock in level.blTeleportsList) { if (tlBlock.PosX == block.PosX && tlBlock.PosY == block.PosY) { telBlock = tlBlock; } } teleport.GetComponent<TeleportTile>().SetTeleportCoords(telBlock.teleportToX, telBlock.teleportToY); gameObject = teleport; break; } return gameObject; }