示例#1
0
        private void ImportTileFolder(string tileDirectory)
        {
            try
            {
                string[] tiles = Directory.GetFiles(tileDirectory);

                lbox_Tiles.Items.Clear();

                //Clear the directory before using
                foreach (string file in Directory.GetFiles(Directory.GetCurrentDirectory() + "\\Content\\Tiles\\"))
                {
                    File.Delete(file);
                }

                foreach (string tile in tiles)
                {
                    if (tile.EndsWith(".png") || tile.EndsWith(".jpg"))
                    {
                        string s = tile.Split('\\')[tile.Split('\\').Length - 1];
                        File.Copy(tile, Directory.GetCurrentDirectory() + "\\Content\\Tiles\\" + s, true);


                        lbox_Tiles.Items.Add(s);
                    }
                }

                lbox_Tiles.Enabled = true;

                //clear our display box
                tilesPanel.Controls.Clear();

                //then display the tiles in our tile display box
                int x = 0;
                int y = 0;

                foreach (String s in lbox_Tiles.Items)
                {
                    TileSelector ts = new TileSelector(x, y, this);
                    ts.Load(tileDirectory + "\\" + s);
                    ts.Parent = tilesPanel;
                    ts.Tag    = s;
                    ts.Click += new EventHandler(tileClick);

                    //increment location counters
                    x += 32;
                    if (x >= 256)
                    {
                        x  = 0;
                        y += 32;
                    }
                }
            }
            catch (ArgumentException)
            {
            }

            //update the tiles used by gamedraw
            GameDraw.LoadTileTextures();
        }
示例#2
0
        private void importDefaultTiles()
        {
            //default directory is \Content\Tiles\
            tileDirectory = Directory.GetCurrentDirectory() + "\\Content\\Tiles\\";

            try
            {
                string[] tiles = Directory.GetFiles(tileDirectory);

                lbox_Tiles.Items.Clear();

                foreach (string tile in tiles)
                {
                    if (tile.EndsWith(".png") || tile.EndsWith(".jpg"))
                    {
                        string s = tile.Split('\\')[tile.Split('\\').Length - 1];
                        //File.Copy(tile, Directory.GetCurrentDirectory() + "\\Content\\Tiles\\" + s, true);


                        lbox_Tiles.Items.Add(s);
                    }
                }

                lbox_Tiles.Enabled = true;

                //clear our display box
                tilesPanel.Controls.Clear();

                //then display the tiles in our tile display box
                int x = 0;
                int y = 0;

                foreach (String s in lbox_Tiles.Items)
                {
                    TileSelector ts = new TileSelector(x, y, this);
                    ts.Load(tileDirectory + s);
                    ts.Parent = tilesPanel;
                    ts.Tag    = s;
                    ts.Click += new EventHandler(tileClick);

                    //increment location counters
                    x += 32;
                    if (x >= 256)
                    {
                        x  = 0;
                        y += 32;
                    }
                }
            }
            catch (ArgumentException)
            {
            }
        }