Ejemplo n.º 1
0
        public void Copy(int selectedX, int selectedY)
        {
            ClipbardElement t;

            for (int i = selectedX; i < selectedX + Width; i++)
            {
                for (int j = selectedY; j < selectedY + Height; j++)
                {
                    t      = new ClipbardElement();
                    t.lx   = i - selectedX;
                    t.ly   = j - selectedY;
                    t.Type = _parent._getTile(i, j).Type;
                    if (t.Type == 0)
                    {
                        t.Type = TileType.GRAVEL;
                    }
                    t.IsTile = true;
                    Add(t);

                    t    = new ClipbardElement();
                    t.lx = i - selectedX;
                    t.ly = j - selectedY;
                    if (_parent._getEntity(i, j) != null)
                    {
                        t.Type = _parent._getEntity(i, j).Type;
                    }
                    else
                    {
                        t.Type   = -1;
                        t.IsTile = false;
                    }
                    Add(t);
                }
            }
        }
Ejemplo n.º 2
0
        public static bool Save(string fileName, MapEditor data)
        {
            _numSpawners = 0;
            BinaryWriter writer = new BinaryWriter(File.Open("levels\\" + fileName, FileMode.OpenOrCreate, FileAccess.Write));

            writer.Write(data.LevelWidth);
            writer.Write(data.LevelHeight);

            GEntity entity, tile;

            for (int i = 0; i < data.LevelWidth; i++)
            {
                for (int j = 0; j < data.LevelHeight; j++)
                {
                    entity = data._getEntity(i, j);
                    tile   = data._getTile(i, j);
                    writer.Write((byte)_toMapEntity(entity, tile));
                }
            }

            if (_numSpawners == 0)
            {
                writer.Flush();
                writer.Close();
                File.Delete("levels\\" + fileName);
                return(false);
            }
            else
            {
                writer.Flush();
                writer.Close();
                MapWarehouse.AddMap(fileName, data._mode);
                return(true);
            }
        }