Exemplo n.º 1
0
        public void LoadLevel(string levelName)
        {
            document.Load("Level/" + levelName + ".tmx");
            XmlNode data = document.SelectSingleNode("//data");

            if (data == null)
            {
                throw new FileNotFoundException();
            }
            else
            {
                DataManager dataManager = DataManager.GetInstance();
                TileFactory tileFactory = new TileFactory();
                string      levelData   = data.InnerText;
                int         count       = 0;
                for (int i = 0; i < 1024; i++)
                {
                    for (int j = 0; j < 1024; j++)
                    {
                        string singleValue = "";

                        while (count < levelData.Length && levelData[count] != ',')
                        {
                            singleValue += levelData[count];
                            count++;
                        }
                        count++;

                        int singleValueInt = int.Parse(singleValue);


                        TileFactory.TileType tileType = TileFactory.TileType.nothing;

                        if (singleValueInt > 0 && singleValueInt < 17)
                        {
                            tileType = TileFactory.TileType.wall;
                        }

                        dataManager.TileManager.AddTile(tileFactory.CreateTile(tileType, singleValueInt), new Vector2D(j, i));
                    }
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Handles the SelectedIndexChanged event of the lbxTilesType control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 private void lbxTilesType_SelectedIndexChanged(object sender, EventArgs e)
 {
     switch (view.lbxTilesType.SelectedIndex)
     {
         case 0:
             view.pcbPreview.ImageLocation = TileImages.emptyTile;
             selectedType = TileFactory.TileType.emptyTile;
             break;
         case 1:
             view.pcbPreview.ImageLocation = TileImages.emptyFloor;
             selectedType = TileFactory.TileType.emptyFloor;
             break;
         case 2:
             view.pcbPreview.ImageLocation = TileImages.notAccesibleBlock;
             selectedType = TileFactory.TileType.unaccessibleBlock;
             break;
         case 3:
             view.pcbPreview.ImageLocation = TileImages.accesibleBlock;
             selectedType = TileFactory.TileType.accessibleBlock;
             break;
         case 4:
             view.pcbPreview.ImageLocation = TileImages.goal;
             selectedType = TileFactory.TileType.goal;
             break;
         case 5:
             view.pcbPreview.ImageLocation = TileImages.playerSpawn;
             selectedType = TileFactory.TileType.playerSpawn;
             break;
         case 6:
             view.pcbPreview.ImageLocation = TileImages.bonusSpawn;
             selectedType = TileFactory.TileType.bonusSpawn;
             break;
         case 7:
             view.pcbPreview.ImageLocation = TileImages.ramp;
             selectedType = TileFactory.TileType.ramp;
             break;
         case 8:
             view.pcbPreview.ImageLocation = TileImages.endlessHole;
             selectedType = TileFactory.TileType.endlessHole;
             break;
         case 9:
             view.pcbPreview.ImageLocation = TileImages.teleport;
             selectedType = TileFactory.TileType.teleport;
             break;
         case 10:
             view.pcbPreview.ImageLocation = TileImages.turret;
             selectedType = TileFactory.TileType.turret;
             break;
         case 11:
             view.pcbPreview.ImageLocation = TileImages.ball;
             selectedType = TileFactory.TileType.ball;
             break;
         default:
             view.pcbPreview.ImageLocation = TileImages.emptyTile;
             selectedType = TileFactory.TileType.emptyTile;
             break;
     }
 }